Coverage Report

Created: 2024-06-18 01:10

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
56.4k
    {
87
56.4k
        return s - i;
88
56.4k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
55.4k
    {
87
55.4k
        return s - i;
88
55.4k
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
938
    {
87
938
        return s - i;
88
938
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v3::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
0
    {
94
0
        iter_difference_t<I> counter{0};
95
0
        while (i != s) {
96
0
            ++i;
97
0
            ++counter;
98
0
        }
99
0
        return counter;
100
0
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::detail::priority_tag<0ul>)
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
56.4k
    {
108
56.4k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
56.4k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
55.4k
    {
108
55.4k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
55.4k
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
938
    {
108
938
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
938
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
84.7k
    {
132
84.7k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
84.7k
        return t;
136
84.7k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
91.0k
    {
151
91.0k
        i += n;
152
91.0k
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
86.1k
    {
151
86.1k
        i += n;
152
86.1k
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
4.93k
    {
151
4.93k
        i += n;
152
4.93k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.01k
    {
161
3.01k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.01k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
3.01k
        else {
169
3.01k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.01k
        }
173
3.01k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.14k
    {
161
1.14k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.14k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.14k
        else {
169
1.14k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.14k
        }
173
1.14k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.87k
    {
161
1.87k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.87k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.87k
        else {
169
1.87k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.87k
        }
173
1.87k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
0
    {
181
0
        while (n-- > iter_difference_t<I>{0}) {
182
0
            ++i;
183
0
        }
184
0
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.70k
    {
190
1.70k
        i = std::move(bound);
191
1.70k
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
902
    {
190
902
        i = std::move(bound);
191
902
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
798
    {
190
798
        i = std::move(bound);
191
798
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
162
    {
203
3.27k
        while (i != bound) {
204
3.11k
            ++i;
205
3.11k
        }
206
162
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
102
    {
203
2.38k
        while (i != bound) {
204
2.28k
            ++i;
205
2.28k
        }
206
102
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
60
    {
203
894
        while (i != bound) {
204
834
            ++i;
205
834
        }
206
60
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
42.3k
    {
212
42.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
54
            auto dist = bound - i;
214
54
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
54
            return dist;
216
54
        }
217
42.3k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
42.3k
        return n;
219
42.3k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
42.3k
    {
212
42.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
54
            auto dist = bound - i;
214
54
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
54
            return dist;
216
54
        }
217
42.3k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
42.3k
        return n;
219
42.3k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
5.44k
    {
227
5.44k
        constexpr iter_difference_t<I> zero{0};
228
5.44k
        iter_difference_t<I> counter{0};
229
230
5.44k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
5.44k
        else {
237
18.0k
            while (n-- > zero && i != bound) {
238
12.6k
                ++i;
239
12.6k
                ++counter;
240
12.6k
            }
241
5.44k
        }
242
243
5.44k
        return counter;
244
5.44k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
5.16k
    {
227
5.16k
        constexpr iter_difference_t<I> zero{0};
228
5.16k
        iter_difference_t<I> counter{0};
229
230
5.16k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
5.16k
        else {
237
17.0k
            while (n-- > zero && i != bound) {
238
11.8k
                ++i;
239
11.8k
                ++counter;
240
11.8k
            }
241
5.16k
        }
242
243
5.16k
        return counter;
244
5.16k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
278
    {
227
278
        constexpr iter_difference_t<I> zero{0};
228
278
        iter_difference_t<I> counter{0};
229
230
278
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
278
        else {
237
1.01k
            while (n-- > zero && i != bound) {
238
732
                ++i;
239
732
                ++counter;
240
732
            }
241
278
        }
242
243
278
        return counter;
244
278
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
0
    {
252
0
        constexpr iter_difference_t<I> zero{0};
253
0
        iter_difference_t<I> counter{0};
254
255
0
        while (n-- > zero && i != bound) {
256
0
            ++i;
257
0
            ++counter;
258
0
        }
259
260
0
        return counter;
261
0
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
51.7k
    {
268
51.7k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
51.7k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
43.8k
    {
268
43.8k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
43.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
4.93k
    {
268
4.93k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
4.93k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.14k
    {
268
1.14k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.14k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
1.87k
    {
268
1.87k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.87k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
1.80k
    {
275
1.80k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
1.80k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
848
    {
275
848
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
848
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
102
    {
275
102
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
102
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
798
    {
275
798
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
798
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
60
    {
275
60
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
60
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
47.8k
    {
283
47.8k
        return n - fn::impl_i_n_s(i, n, bound);
284
47.8k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
5.16k
    {
283
5.16k
        return n - fn::impl_i_n_s(i, n, bound);
284
5.16k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
42.3k
    {
283
42.3k
        return n - fn::impl_i_n_s(i, n, bound);
284
42.3k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
278
    {
283
278
        return n - fn::impl_i_n_s(i, n, bound);
284
278
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
72.2k
    {
296
72.2k
        ++x;
297
72.2k
        return x;
298
72.2k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
1.90k
    {
296
1.90k
        ++x;
297
1.90k
        return x;
298
1.90k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
46.5k
    {
296
46.5k
        ++x;
297
46.5k
        return x;
298
46.5k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
862
    {
296
862
        ++x;
297
862
        return x;
298
862
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
22.9k
    {
296
22.9k
        ++x;
297
22.9k
        return x;
298
22.9k
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
48.7k
    {
304
48.7k
        ranges::advance(x, n);
305
48.7k
        return x;
306
48.7k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
43.8k
    {
304
43.8k
        ranges::advance(x, n);
305
43.8k
        return x;
306
43.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
4.93k
    {
304
4.93k
        ranges::advance(x, n);
305
4.93k
        return x;
306
4.93k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
1.80k
    {
313
1.80k
        ranges::advance(x, bound);
314
1.80k
        return x;
315
1.80k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
848
    {
313
848
        ranges::advance(x, bound);
314
848
        return x;
315
848
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
102
    {
313
102
        ranges::advance(x, bound);
314
102
        return x;
315
102
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
798
    {
313
798
        ranges::advance(x, bound);
314
798
        return x;
315
798
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
60
    {
313
60
        ranges::advance(x, bound);
314
60
        return x;
315
60
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
42.4k
{
458
42.4k
    return is_ascii_space_lookup[static_cast<size_t>(
459
42.4k
        static_cast<unsigned char>(ch))];
460
42.4k
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
375k
{
469
375k
    return static_cast<unsigned char>(ch) <= 127;
470
375k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
426
{
474
426
#if WCHAR_MIN < 0
475
426
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
426
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
403k
{
483
403k
    return cp <= 127;
484
403k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + (n)) - ((word) & ~0ull / 255 * 127)) &
532
0
             ~(word) &
533
0
             (((word) & ~0ull / 255 * 127) + ~0ull / 255 * (127 - (m)))) &
534
0
            (~0ull / 255 * 128));
535
0
}
536
537
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
538
29.2k
{
539
29.2k
    return (word + ~0ull / 255 * (127 - n) | word) & ~0ull / 255 * 128;
540
29.2k
}
541
542
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
543
0
{
544
0
    word ^= 0x8080808080808080ull;
545
0
    if (word == 0) {
546
0
        return 8;
547
0
    }
548
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
549
0
}
550
551
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
552
0
{
553
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
554
0
    auto input = word ^ pattern;
555
0
    auto tmp = (input & mask) + mask;
556
0
    tmp = ~(tmp | input | mask);
557
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
558
0
}
559
560
constexpr uint32_t log2_fast(uint32_t val)
561
0
{
562
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
563
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
564
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
565
0
566
0
    val |= val >> 1;
567
0
    val |= val >> 2;
568
0
    val |= val >> 4;
569
0
    val |= val >> 8;
570
0
    val |= val >> 16;
571
0
572
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
573
0
}
574
575
constexpr uint32_t log2_pow2_fast(uint32_t val)
576
0
{
577
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
578
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
579
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
580
0
581
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
582
0
}
583
584
constexpr uint64_t byteswap(uint64_t val)
585
0
{
586
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
587
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
588
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
589
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
590
0
}
591
592
/////////////////////////////////////////////////////////////////
593
// <function_ref>
594
/////////////////////////////////////////////////////////////////
595
596
namespace fnref_detail {
597
template <class T>
598
inline constexpr auto select_param_type = [] {
599
    if constexpr (std::is_trivially_copyable_v<T>) {
600
        return detail::type_identity<T>();
601
    }
602
    else {
603
        return std::add_rvalue_reference<T>();
604
    }
605
};
606
607
template <class T>
608
using param_t =
609
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
610
611
template <typename Sig>
612
struct qual_fn_sig;
613
614
template <typename R, typename... Args>
615
struct qual_fn_sig<R(Args...)> {
616
    using function = R(Args...);
617
618
    static constexpr bool is_noexcept = false;
619
620
    template <typename... T>
621
    static constexpr bool is_invocable_using =
622
        std::is_invocable_r_v<R, T..., Args...>;
623
624
    template <typename T>
625
    using cv = T;
626
};
627
628
template <typename R, typename... Args>
629
struct qual_fn_sig<R(Args...) noexcept> {
630
    using function = R(Args...);
631
632
    static constexpr bool is_noexcept = true;
633
634
    template <typename... T>
635
    static constexpr bool is_invocable_using =
636
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
637
638
    template <typename T>
639
    using cv = T;
640
};
641
642
template <typename R, typename... Args>
643
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
644
    template <typename T>
645
    using cv = T const;
646
};
647
648
template <typename R, typename... Args>
649
struct qual_fn_sig<R(Args...) const noexcept>
650
    : qual_fn_sig<R(Args...) noexcept> {
651
    template <typename T>
652
    using cv = T const;
653
};
654
655
struct base {
656
    union storage {
657
        constexpr storage() = default;
658
659
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
660
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
74.9k
        {
662
74.9k
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >*)
Line
Count
Source
661
3.69k
        {
662
3.69k
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >*)
Line
Count
Source
661
19.7k
        {
662
19.7k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_LPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_LPv0EEEPSK_
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
22.6k
        {
662
22.6k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_LPv0EEEPSP_
Line
Count
Source
661
796
        {
662
796
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
412
        {
662
412
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
6
        {
662
6
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
260
        {
662
260
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_LPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
8
        {
662
8
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
258
        {
662
258
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
10
        {
662
10
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
238
        {
662
238
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
732
        {
662
732
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
32
        {
662
32
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
32
        {
662
32
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
32
        {
662
32
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >*)
Line
Count
Source
661
1.11k
        {
662
1.11k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_LPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_LPv0EEEPSK_
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
3.21k
        {
662
3.21k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
3.78k
        {
662
3.78k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_LPv0EEEPSP_
Line
Count
Source
661
358
        {
662
358
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
78
        {
662
78
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
10.3k
        {
662
10.3k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
4
        {
662
4
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
112
        {
662
112
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_LPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
Line
Count
Source
661
6
        {
662
6
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
6
        {
662
6
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
110
        {
662
110
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
6
        {
662
6
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
312
        {
662
312
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
306
        {
662
306
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
2.38k
        {
662
2.38k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
626
        {
662
626
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
1.87k
        {
662
1.87k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
486
        {
662
486
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
730
        {
662
730
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
663
664
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
665
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
6.38k
        {
667
6.38k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Line
Count
Source
666
1.80k
        {
667
1.80k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Line
Count
Source
666
336
        {
667
336
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_LPv0EEEPKSL_
Line
Count
Source
666
246
        {
667
246
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
2.35k
        {
667
2.35k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
330
        {
667
330
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Line
Count
Source
666
330
        {
667
330
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_LPv0EEEPKSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
168
        {
667
168
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
48
        {
667
48
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
512
        {
667
512
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
256
        {
667
256
        }
668
669
        template <typename F,
670
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
671
        constexpr explicit storage(F* f) noexcept
672
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
673
        {
674
        }
675
676
        void* m_p{nullptr};
677
        const void* m_cp;
678
        void (*m_fp)();
679
    };
680
681
    template <typename T>
682
    static constexpr auto get(storage s)
683
961k
    {
684
961k
        if constexpr (std::is_const_v<T>) {
685
543k
            return static_cast<T*>(s.m_cp);
686
543k
        }
687
543k
        else if constexpr (std::is_object_v<T>) {
688
543k
            return static_cast<T*>(s.m_p);
689
543k
        }
690
961k
        else {
691
961k
            return reinterpret_cast<T*>(s.m_fp);
692
961k
        }
693
961k
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
6.83k
    {
684
6.83k
        if constexpr (std::is_const_v<T>) {
685
6.83k
            return static_cast<T*>(s.m_cp);
686
6.83k
        }
687
6.83k
        else if constexpr (std::is_object_v<T>) {
688
6.83k
            return static_cast<T*>(s.m_p);
689
6.83k
        }
690
6.83k
        else {
691
6.83k
            return reinterpret_cast<T*>(s.m_fp);
692
6.83k
        }
693
6.83k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
418k
    {
684
418k
        if constexpr (std::is_const_v<T>) {
685
418k
            return static_cast<T*>(s.m_cp);
686
418k
        }
687
418k
        else if constexpr (std::is_object_v<T>) {
688
418k
            return static_cast<T*>(s.m_p);
689
418k
        }
690
418k
        else {
691
418k
            return reinterpret_cast<T*>(s.m_fp);
692
418k
        }
693
418k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
33.3k
    {
684
33.3k
        if constexpr (std::is_const_v<T>) {
685
33.3k
            return static_cast<T*>(s.m_cp);
686
33.3k
        }
687
33.3k
        else if constexpr (std::is_object_v<T>) {
688
33.3k
            return static_cast<T*>(s.m_p);
689
33.3k
        }
690
33.3k
        else {
691
33.3k
            return reinterpret_cast<T*>(s.m_fp);
692
33.3k
        }
693
33.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
796
    {
684
796
        if constexpr (std::is_const_v<T>) {
685
796
            return static_cast<T*>(s.m_cp);
686
796
        }
687
796
        else if constexpr (std::is_object_v<T>) {
688
796
            return static_cast<T*>(s.m_p);
689
796
        }
690
796
        else {
691
796
            return reinterpret_cast<T*>(s.m_fp);
692
796
        }
693
796
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
2.22k
    {
684
2.22k
        if constexpr (std::is_const_v<T>) {
685
2.22k
            return static_cast<T*>(s.m_cp);
686
2.22k
        }
687
2.22k
        else if constexpr (std::is_object_v<T>) {
688
2.22k
            return static_cast<T*>(s.m_p);
689
2.22k
        }
690
2.22k
        else {
691
2.22k
            return reinterpret_cast<T*>(s.m_fp);
692
2.22k
        }
693
2.22k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
1.78k
    {
684
1.78k
        if constexpr (std::is_const_v<T>) {
685
1.78k
            return static_cast<T*>(s.m_cp);
686
1.78k
        }
687
1.78k
        else if constexpr (std::is_object_v<T>) {
688
1.78k
            return static_cast<T*>(s.m_p);
689
1.78k
        }
690
1.78k
        else {
691
1.78k
            return reinterpret_cast<T*>(s.m_fp);
692
1.78k
        }
693
1.78k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
260
    {
684
260
        if constexpr (std::is_const_v<T>) {
685
260
            return static_cast<T*>(s.m_cp);
686
260
        }
687
260
        else if constexpr (std::is_object_v<T>) {
688
260
            return static_cast<T*>(s.m_p);
689
260
        }
690
260
        else {
691
260
            return reinterpret_cast<T*>(s.m_fp);
692
260
        }
693
260
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
26
    {
684
26
        if constexpr (std::is_const_v<T>) {
685
26
            return static_cast<T*>(s.m_cp);
686
26
        }
687
26
        else if constexpr (std::is_object_v<T>) {
688
26
            return static_cast<T*>(s.m_p);
689
26
        }
690
26
        else {
691
26
            return reinterpret_cast<T*>(s.m_fp);
692
26
        }
693
26
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
8
    {
684
8
        if constexpr (std::is_const_v<T>) {
685
8
            return static_cast<T*>(s.m_cp);
686
8
        }
687
8
        else if constexpr (std::is_object_v<T>) {
688
8
            return static_cast<T*>(s.m_p);
689
8
        }
690
8
        else {
691
8
            return reinterpret_cast<T*>(s.m_fp);
692
8
        }
693
8
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
258
    {
684
258
        if constexpr (std::is_const_v<T>) {
685
258
            return static_cast<T*>(s.m_cp);
686
258
        }
687
258
        else if constexpr (std::is_object_v<T>) {
688
258
            return static_cast<T*>(s.m_p);
689
258
        }
690
258
        else {
691
258
            return reinterpret_cast<T*>(s.m_fp);
692
258
        }
693
258
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
10
    {
684
10
        if constexpr (std::is_const_v<T>) {
685
10
            return static_cast<T*>(s.m_cp);
686
10
        }
687
10
        else if constexpr (std::is_object_v<T>) {
688
10
            return static_cast<T*>(s.m_p);
689
10
        }
690
10
        else {
691
10
            return reinterpret_cast<T*>(s.m_fp);
692
10
        }
693
10
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
238
    {
684
238
        if constexpr (std::is_const_v<T>) {
685
238
            return static_cast<T*>(s.m_cp);
686
238
        }
687
238
        else if constexpr (std::is_object_v<T>) {
688
238
            return static_cast<T*>(s.m_p);
689
238
        }
690
238
        else {
691
238
            return reinterpret_cast<T*>(s.m_fp);
692
238
        }
693
238
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
9.00k
    {
684
9.00k
        if constexpr (std::is_const_v<T>) {
685
9.00k
            return static_cast<T*>(s.m_cp);
686
9.00k
        }
687
9.00k
        else if constexpr (std::is_object_v<T>) {
688
9.00k
            return static_cast<T*>(s.m_p);
689
9.00k
        }
690
9.00k
        else {
691
9.00k
            return reinterpret_cast<T*>(s.m_fp);
692
9.00k
        }
693
9.00k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
784
    {
684
784
        if constexpr (std::is_const_v<T>) {
685
784
            return static_cast<T*>(s.m_cp);
686
784
        }
687
784
        else if constexpr (std::is_object_v<T>) {
688
784
            return static_cast<T*>(s.m_p);
689
784
        }
690
784
        else {
691
784
            return reinterpret_cast<T*>(s.m_fp);
692
784
        }
693
784
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
36.5k
    {
684
36.5k
        if constexpr (std::is_const_v<T>) {
685
36.5k
            return static_cast<T*>(s.m_cp);
686
36.5k
        }
687
36.5k
        else if constexpr (std::is_object_v<T>) {
688
36.5k
            return static_cast<T*>(s.m_p);
689
36.5k
        }
690
36.5k
        else {
691
36.5k
            return reinterpret_cast<T*>(s.m_fp);
692
36.5k
        }
693
36.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
5.51k
    {
684
5.51k
        if constexpr (std::is_const_v<T>) {
685
5.51k
            return static_cast<T*>(s.m_cp);
686
5.51k
        }
687
5.51k
        else if constexpr (std::is_object_v<T>) {
688
5.51k
            return static_cast<T*>(s.m_p);
689
5.51k
        }
690
5.51k
        else {
691
5.51k
            return reinterpret_cast<T*>(s.m_fp);
692
5.51k
        }
693
5.51k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
454
    {
684
454
        if constexpr (std::is_const_v<T>) {
685
454
            return static_cast<T*>(s.m_cp);
686
454
        }
687
454
        else if constexpr (std::is_object_v<T>) {
688
454
            return static_cast<T*>(s.m_p);
689
454
        }
690
454
        else {
691
454
            return reinterpret_cast<T*>(s.m_fp);
692
454
        }
693
454
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
362k
    {
684
362k
        if constexpr (std::is_const_v<T>) {
685
362k
            return static_cast<T*>(s.m_cp);
686
362k
        }
687
362k
        else if constexpr (std::is_object_v<T>) {
688
362k
            return static_cast<T*>(s.m_p);
689
362k
        }
690
362k
        else {
691
362k
            return reinterpret_cast<T*>(s.m_fp);
692
362k
        }
693
362k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
4.22k
    {
684
4.22k
        if constexpr (std::is_const_v<T>) {
685
4.22k
            return static_cast<T*>(s.m_cp);
686
4.22k
        }
687
4.22k
        else if constexpr (std::is_object_v<T>) {
688
4.22k
            return static_cast<T*>(s.m_p);
689
4.22k
        }
690
4.22k
        else {
691
4.22k
            return reinterpret_cast<T*>(s.m_fp);
692
4.22k
        }
693
4.22k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
784
    {
684
784
        if constexpr (std::is_const_v<T>) {
685
784
            return static_cast<T*>(s.m_cp);
686
784
        }
687
784
        else if constexpr (std::is_object_v<T>) {
688
784
            return static_cast<T*>(s.m_p);
689
784
        }
690
784
        else {
691
784
            return reinterpret_cast<T*>(s.m_fp);
692
784
        }
693
784
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
454
    {
684
454
        if constexpr (std::is_const_v<T>) {
685
454
            return static_cast<T*>(s.m_cp);
686
454
        }
687
454
        else if constexpr (std::is_object_v<T>) {
688
454
            return static_cast<T*>(s.m_p);
689
454
        }
690
454
        else {
691
454
            return reinterpret_cast<T*>(s.m_fp);
692
454
        }
693
454
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
784
    {
684
784
        if constexpr (std::is_const_v<T>) {
685
784
            return static_cast<T*>(s.m_cp);
686
784
        }
687
784
        else if constexpr (std::is_object_v<T>) {
688
784
            return static_cast<T*>(s.m_p);
689
784
        }
690
784
        else {
691
784
            return reinterpret_cast<T*>(s.m_fp);
692
784
        }
693
784
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
454
    {
684
454
        if constexpr (std::is_const_v<T>) {
685
454
            return static_cast<T*>(s.m_cp);
686
454
        }
687
454
        else if constexpr (std::is_object_v<T>) {
688
454
            return static_cast<T*>(s.m_p);
689
454
        }
690
454
        else {
691
454
            return reinterpret_cast<T*>(s.m_fp);
692
454
        }
693
454
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
1.62k
    {
684
1.62k
        if constexpr (std::is_const_v<T>) {
685
1.62k
            return static_cast<T*>(s.m_cp);
686
1.62k
        }
687
1.62k
        else if constexpr (std::is_object_v<T>) {
688
1.62k
            return static_cast<T*>(s.m_p);
689
1.62k
        }
690
1.62k
        else {
691
1.62k
            return reinterpret_cast<T*>(s.m_fp);
692
1.62k
        }
693
1.62k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
5.08k
    {
684
5.08k
        if constexpr (std::is_const_v<T>) {
685
5.08k
            return static_cast<T*>(s.m_cp);
686
5.08k
        }
687
5.08k
        else if constexpr (std::is_object_v<T>) {
688
5.08k
            return static_cast<T*>(s.m_p);
689
5.08k
        }
690
5.08k
        else {
691
5.08k
            return reinterpret_cast<T*>(s.m_fp);
692
5.08k
        }
693
5.08k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.86k
    {
684
4.86k
        if constexpr (std::is_const_v<T>) {
685
4.86k
            return static_cast<T*>(s.m_cp);
686
4.86k
        }
687
4.86k
        else if constexpr (std::is_object_v<T>) {
688
4.86k
            return static_cast<T*>(s.m_p);
689
4.86k
        }
690
4.86k
        else {
691
4.86k
            return reinterpret_cast<T*>(s.m_fp);
692
4.86k
        }
693
4.86k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
358
    {
684
358
        if constexpr (std::is_const_v<T>) {
685
358
            return static_cast<T*>(s.m_cp);
686
358
        }
687
358
        else if constexpr (std::is_object_v<T>) {
688
358
            return static_cast<T*>(s.m_p);
689
358
        }
690
358
        else {
691
358
            return reinterpret_cast<T*>(s.m_fp);
692
358
        }
693
358
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
418
    {
684
418
        if constexpr (std::is_const_v<T>) {
685
418
            return static_cast<T*>(s.m_cp);
686
418
        }
687
418
        else if constexpr (std::is_object_v<T>) {
688
418
            return static_cast<T*>(s.m_p);
689
418
        }
690
418
        else {
691
418
            return reinterpret_cast<T*>(s.m_fp);
692
418
        }
693
418
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
78
    {
684
78
        if constexpr (std::is_const_v<T>) {
685
78
            return static_cast<T*>(s.m_cp);
686
78
        }
687
78
        else if constexpr (std::is_object_v<T>) {
688
78
            return static_cast<T*>(s.m_p);
689
78
        }
690
78
        else {
691
78
            return reinterpret_cast<T*>(s.m_fp);
692
78
        }
693
78
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
11.8k
    {
684
11.8k
        if constexpr (std::is_const_v<T>) {
685
11.8k
            return static_cast<T*>(s.m_cp);
686
11.8k
        }
687
11.8k
        else if constexpr (std::is_object_v<T>) {
688
11.8k
            return static_cast<T*>(s.m_p);
689
11.8k
        }
690
11.8k
        else {
691
11.8k
            return reinterpret_cast<T*>(s.m_fp);
692
11.8k
        }
693
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
4
    {
684
4
        if constexpr (std::is_const_v<T>) {
685
4
            return static_cast<T*>(s.m_cp);
686
4
        }
687
4
        else if constexpr (std::is_object_v<T>) {
688
4
            return static_cast<T*>(s.m_p);
689
4
        }
690
4
        else {
691
4
            return reinterpret_cast<T*>(s.m_fp);
692
4
        }
693
4
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
112
    {
684
112
        if constexpr (std::is_const_v<T>) {
685
112
            return static_cast<T*>(s.m_cp);
686
112
        }
687
112
        else if constexpr (std::is_object_v<T>) {
688
112
            return static_cast<T*>(s.m_p);
689
112
        }
690
112
        else {
691
112
            return reinterpret_cast<T*>(s.m_fp);
692
112
        }
693
112
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
110
    {
684
110
        if constexpr (std::is_const_v<T>) {
685
110
            return static_cast<T*>(s.m_cp);
686
110
        }
687
110
        else if constexpr (std::is_object_v<T>) {
688
110
            return static_cast<T*>(s.m_p);
689
110
        }
690
110
        else {
691
110
            return reinterpret_cast<T*>(s.m_fp);
692
110
        }
693
110
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
312
    {
684
312
        if constexpr (std::is_const_v<T>) {
685
312
            return static_cast<T*>(s.m_cp);
686
312
        }
687
312
        else if constexpr (std::is_object_v<T>) {
688
312
            return static_cast<T*>(s.m_p);
689
312
        }
690
312
        else {
691
312
            return reinterpret_cast<T*>(s.m_fp);
692
312
        }
693
312
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
11.2k
    {
684
11.2k
        if constexpr (std::is_const_v<T>) {
685
11.2k
            return static_cast<T*>(s.m_cp);
686
11.2k
        }
687
11.2k
        else if constexpr (std::is_object_v<T>) {
688
11.2k
            return static_cast<T*>(s.m_p);
689
11.2k
        }
690
11.2k
        else {
691
11.2k
            return reinterpret_cast<T*>(s.m_fp);
692
11.2k
        }
693
11.2k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
230
    {
684
230
        if constexpr (std::is_const_v<T>) {
685
230
            return static_cast<T*>(s.m_cp);
686
230
        }
687
230
        else if constexpr (std::is_object_v<T>) {
688
230
            return static_cast<T*>(s.m_p);
689
230
        }
690
230
        else {
691
230
            return reinterpret_cast<T*>(s.m_fp);
692
230
        }
693
230
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
26.7k
    {
684
26.7k
        if constexpr (std::is_const_v<T>) {
685
26.7k
            return static_cast<T*>(s.m_cp);
686
26.7k
        }
687
26.7k
        else if constexpr (std::is_object_v<T>) {
688
26.7k
            return static_cast<T*>(s.m_p);
689
26.7k
        }
690
26.7k
        else {
691
26.7k
            return reinterpret_cast<T*>(s.m_fp);
692
26.7k
        }
693
26.7k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
412
    {
684
412
        if constexpr (std::is_const_v<T>) {
685
412
            return static_cast<T*>(s.m_cp);
686
412
        }
687
412
        else if constexpr (std::is_object_v<T>) {
688
412
            return static_cast<T*>(s.m_p);
689
412
        }
690
412
        else {
691
412
            return reinterpret_cast<T*>(s.m_fp);
692
412
        }
693
412
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.39k
    {
684
4.39k
        if constexpr (std::is_const_v<T>) {
685
4.39k
            return static_cast<T*>(s.m_cp);
686
4.39k
        }
687
4.39k
        else if constexpr (std::is_object_v<T>) {
688
4.39k
            return static_cast<T*>(s.m_p);
689
4.39k
        }
690
4.39k
        else {
691
4.39k
            return reinterpret_cast<T*>(s.m_fp);
692
4.39k
        }
693
4.39k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
426
    {
684
426
        if constexpr (std::is_const_v<T>) {
685
426
            return static_cast<T*>(s.m_cp);
686
426
        }
687
426
        else if constexpr (std::is_object_v<T>) {
688
426
            return static_cast<T*>(s.m_p);
689
426
        }
690
426
        else {
691
426
            return reinterpret_cast<T*>(s.m_fp);
692
426
        }
693
426
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
230
    {
684
230
        if constexpr (std::is_const_v<T>) {
685
230
            return static_cast<T*>(s.m_cp);
686
230
        }
687
230
        else if constexpr (std::is_object_v<T>) {
688
230
            return static_cast<T*>(s.m_p);
689
230
        }
690
230
        else {
691
230
            return reinterpret_cast<T*>(s.m_fp);
692
230
        }
693
230
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
412
    {
684
412
        if constexpr (std::is_const_v<T>) {
685
412
            return static_cast<T*>(s.m_cp);
686
412
        }
687
412
        else if constexpr (std::is_object_v<T>) {
688
412
            return static_cast<T*>(s.m_p);
689
412
        }
690
412
        else {
691
412
            return reinterpret_cast<T*>(s.m_fp);
692
412
        }
693
412
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
230
    {
684
230
        if constexpr (std::is_const_v<T>) {
685
230
            return static_cast<T*>(s.m_cp);
686
230
        }
687
230
        else if constexpr (std::is_object_v<T>) {
688
230
            return static_cast<T*>(s.m_p);
689
230
        }
690
230
        else {
691
230
            return reinterpret_cast<T*>(s.m_fp);
692
230
        }
693
230
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
412
    {
684
412
        if constexpr (std::is_const_v<T>) {
685
412
            return static_cast<T*>(s.m_cp);
686
412
        }
687
412
        else if constexpr (std::is_object_v<T>) {
688
412
            return static_cast<T*>(s.m_p);
689
412
        }
690
412
        else {
691
412
            return reinterpret_cast<T*>(s.m_fp);
692
412
        }
693
412
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
626
    {
684
626
        if constexpr (std::is_const_v<T>) {
685
626
            return static_cast<T*>(s.m_cp);
686
626
        }
687
626
        else if constexpr (std::is_object_v<T>) {
688
626
            return static_cast<T*>(s.m_p);
689
626
        }
690
626
        else {
691
626
            return reinterpret_cast<T*>(s.m_fp);
692
626
        }
693
626
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
550
    {
684
550
        if constexpr (std::is_const_v<T>) {
685
550
            return static_cast<T*>(s.m_cp);
686
550
        }
687
550
        else if constexpr (std::is_object_v<T>) {
688
550
            return static_cast<T*>(s.m_p);
689
550
        }
690
550
        else {
691
550
            return reinterpret_cast<T*>(s.m_fp);
692
550
        }
693
550
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.90k
    {
684
2.90k
        if constexpr (std::is_const_v<T>) {
685
2.90k
            return static_cast<T*>(s.m_cp);
686
2.90k
        }
687
2.90k
        else if constexpr (std::is_object_v<T>) {
688
2.90k
            return static_cast<T*>(s.m_p);
689
2.90k
        }
690
2.90k
        else {
691
2.90k
            return reinterpret_cast<T*>(s.m_fp);
692
2.90k
        }
693
2.90k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
486
    {
684
486
        if constexpr (std::is_const_v<T>) {
685
486
            return static_cast<T*>(s.m_cp);
686
486
        }
687
486
        else if constexpr (std::is_object_v<T>) {
688
486
            return static_cast<T*>(s.m_p);
689
486
        }
690
486
        else {
691
486
            return reinterpret_cast<T*>(s.m_fp);
692
486
        }
693
486
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
298
    {
684
298
        if constexpr (std::is_const_v<T>) {
685
298
            return static_cast<T*>(s.m_cp);
686
298
        }
687
298
        else if constexpr (std::is_object_v<T>) {
688
298
            return static_cast<T*>(s.m_p);
689
298
        }
690
298
        else {
691
298
            return reinterpret_cast<T*>(s.m_fp);
692
298
        }
693
298
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
730
    {
684
730
        if constexpr (std::is_const_v<T>) {
685
730
            return static_cast<T*>(s.m_cp);
686
730
        }
687
730
        else if constexpr (std::is_object_v<T>) {
688
730
            return static_cast<T*>(s.m_p);
689
730
        }
690
730
        else {
691
730
            return reinterpret_cast<T*>(s.m_fp);
692
730
        }
693
730
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
694
};
695
}  // namespace fnref_detail
696
697
template <typename Sig,
698
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
699
class function_ref;
700
701
template <typename Sig, typename R, typename... Args>
702
class function_ref<Sig, R(Args...)> : fnref_detail::base {
703
    using signature = fnref_detail::qual_fn_sig<Sig>;
704
705
    template <typename T>
706
    using cv = typename signature::template cv<T>;
707
    template <typename T>
708
    using cvref = cv<T>&;
709
    static constexpr bool noex = signature::is_noexcept;
710
711
    template <typename... T>
712
    static constexpr bool is_invocable_using =
713
        signature::template is_invocable_using<T...>;
714
715
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
716
717
public:
718
    template <typename F,
719
              std::enable_if_t<std::is_function_v<F> &&
720
                               is_invocable_using<F>>* = nullptr>
721
    /*implicit*/ function_ref(F* f) noexcept
722
        : m_fptr([](storage fn,
723
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
724
              if constexpr (std::is_void_v<R>) {
725
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
726
              }
727
              else {
728
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
729
              }
730
          }),
731
          m_storage(f)
732
    {
733
        SCN_EXPECT(f != nullptr);
734
    }
735
736
    template <typename F,
737
              typename T = std::remove_reference_t<F>,
738
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
739
                               !std::is_member_pointer_v<T> &&
740
                               is_invocable_using<cvref<T>>>* = nullptr>
741
    /*implicit*/ constexpr function_ref(F&& f) noexcept
742
        : m_fptr([](storage fn,
743
961k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
961k
              cvref<T> obj = *get<T>(fn);
745
961k
              if constexpr (std::is_void_v<R>) {
746
922k
                  obj(static_cast<decltype(args)>(args)...);
747
922k
              }
748
922k
              else {
749
922k
                  return obj(static_cast<decltype(args)>(args)...);
750
922k
              }
751
961k
          }),
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char) const
Line
Count
Source
743
6.83k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.83k
              cvref<T> obj = *get<T>(fn);
745
6.83k
              if constexpr (std::is_void_v<R>) {
746
6.83k
                  obj(static_cast<decltype(args)>(args)...);
747
6.83k
              }
748
6.83k
              else {
749
6.83k
                  return obj(static_cast<decltype(args)>(args)...);
750
6.83k
              }
751
6.83k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char32_t) const
Line
Count
Source
743
418k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
418k
              cvref<T> obj = *get<T>(fn);
745
418k
              if constexpr (std::is_void_v<R>) {
746
418k
                  obj(static_cast<decltype(args)>(args)...);
747
418k
              }
748
418k
              else {
749
418k
                  return obj(static_cast<decltype(args)>(args)...);
750
418k
              }
751
418k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
33.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
33.3k
              cvref<T> obj = *get<T>(fn);
745
33.3k
              if constexpr (std::is_void_v<R>) {
746
33.3k
                  obj(static_cast<decltype(args)>(args)...);
747
33.3k
              }
748
33.3k
              else {
749
33.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
33.3k
              }
751
33.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
796
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
796
              cvref<T> obj = *get<T>(fn);
745
796
              if constexpr (std::is_void_v<R>) {
746
796
                  obj(static_cast<decltype(args)>(args)...);
747
796
              }
748
796
              else {
749
796
                  return obj(static_cast<decltype(args)>(args)...);
750
796
              }
751
796
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
2.22k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.22k
              cvref<T> obj = *get<T>(fn);
745
2.22k
              if constexpr (std::is_void_v<R>) {
746
2.22k
                  obj(static_cast<decltype(args)>(args)...);
747
2.22k
              }
748
2.22k
              else {
749
2.22k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.22k
              }
751
2.22k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
1.78k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.78k
              cvref<T> obj = *get<T>(fn);
745
1.78k
              if constexpr (std::is_void_v<R>) {
746
1.78k
                  obj(static_cast<decltype(args)>(args)...);
747
1.78k
              }
748
1.78k
              else {
749
1.78k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.78k
              }
751
1.78k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
260
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
260
              cvref<T> obj = *get<T>(fn);
745
260
              if constexpr (std::is_void_v<R>) {
746
260
                  obj(static_cast<decltype(args)>(args)...);
747
260
              }
748
260
              else {
749
260
                  return obj(static_cast<decltype(args)>(args)...);
750
260
              }
751
260
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clESW_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26
              cvref<T> obj = *get<T>(fn);
745
26
              if constexpr (std::is_void_v<R>) {
746
26
                  obj(static_cast<decltype(args)>(args)...);
747
26
              }
748
26
              else {
749
26
                  return obj(static_cast<decltype(args)>(args)...);
750
26
              }
751
26
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8
              cvref<T> obj = *get<T>(fn);
745
8
              if constexpr (std::is_void_v<R>) {
746
8
                  obj(static_cast<decltype(args)>(args)...);
747
8
              }
748
8
              else {
749
8
                  return obj(static_cast<decltype(args)>(args)...);
750
8
              }
751
8
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
258
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
258
              cvref<T> obj = *get<T>(fn);
745
258
              if constexpr (std::is_void_v<R>) {
746
258
                  obj(static_cast<decltype(args)>(args)...);
747
258
              }
748
258
              else {
749
258
                  return obj(static_cast<decltype(args)>(args)...);
750
258
              }
751
258
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
10
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10
              cvref<T> obj = *get<T>(fn);
745
10
              if constexpr (std::is_void_v<R>) {
746
10
                  obj(static_cast<decltype(args)>(args)...);
747
10
              }
748
10
              else {
749
10
                  return obj(static_cast<decltype(args)>(args)...);
750
10
              }
751
10
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
238
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
238
              cvref<T> obj = *get<T>(fn);
745
238
              if constexpr (std::is_void_v<R>) {
746
238
                  obj(static_cast<decltype(args)>(args)...);
747
238
              }
748
238
              else {
749
238
                  return obj(static_cast<decltype(args)>(args)...);
750
238
              }
751
238
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
9.00k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
9.00k
              cvref<T> obj = *get<T>(fn);
745
9.00k
              if constexpr (std::is_void_v<R>) {
746
9.00k
                  obj(static_cast<decltype(args)>(args)...);
747
9.00k
              }
748
9.00k
              else {
749
9.00k
                  return obj(static_cast<decltype(args)>(args)...);
750
9.00k
              }
751
9.00k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
784
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
784
              cvref<T> obj = *get<T>(fn);
745
784
              if constexpr (std::is_void_v<R>) {
746
784
                  obj(static_cast<decltype(args)>(args)...);
747
784
              }
748
784
              else {
749
784
                  return obj(static_cast<decltype(args)>(args)...);
750
784
              }
751
784
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
36.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.5k
              cvref<T> obj = *get<T>(fn);
745
36.5k
              if constexpr (std::is_void_v<R>) {
746
36.5k
                  obj(static_cast<decltype(args)>(args)...);
747
36.5k
              }
748
36.5k
              else {
749
36.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.5k
              }
751
36.5k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
5.51k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.51k
              cvref<T> obj = *get<T>(fn);
745
5.51k
              if constexpr (std::is_void_v<R>) {
746
5.51k
                  obj(static_cast<decltype(args)>(args)...);
747
5.51k
              }
748
5.51k
              else {
749
5.51k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.51k
              }
751
5.51k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
454
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454
              cvref<T> obj = *get<T>(fn);
745
454
              if constexpr (std::is_void_v<R>) {
746
454
                  obj(static_cast<decltype(args)>(args)...);
747
454
              }
748
454
              else {
749
454
                  return obj(static_cast<decltype(args)>(args)...);
750
454
              }
751
454
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
362k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
362k
              cvref<T> obj = *get<T>(fn);
745
362k
              if constexpr (std::is_void_v<R>) {
746
362k
                  obj(static_cast<decltype(args)>(args)...);
747
362k
              }
748
362k
              else {
749
362k
                  return obj(static_cast<decltype(args)>(args)...);
750
362k
              }
751
362k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
4.22k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.22k
              cvref<T> obj = *get<T>(fn);
745
4.22k
              if constexpr (std::is_void_v<R>) {
746
4.22k
                  obj(static_cast<decltype(args)>(args)...);
747
4.22k
              }
748
4.22k
              else {
749
4.22k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.22k
              }
751
4.22k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
784
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
784
              cvref<T> obj = *get<T>(fn);
745
784
              if constexpr (std::is_void_v<R>) {
746
784
                  obj(static_cast<decltype(args)>(args)...);
747
784
              }
748
784
              else {
749
784
                  return obj(static_cast<decltype(args)>(args)...);
750
784
              }
751
784
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
454
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454
              cvref<T> obj = *get<T>(fn);
745
454
              if constexpr (std::is_void_v<R>) {
746
454
                  obj(static_cast<decltype(args)>(args)...);
747
454
              }
748
454
              else {
749
454
                  return obj(static_cast<decltype(args)>(args)...);
750
454
              }
751
454
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
784
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
784
              cvref<T> obj = *get<T>(fn);
745
784
              if constexpr (std::is_void_v<R>) {
746
784
                  obj(static_cast<decltype(args)>(args)...);
747
784
              }
748
784
              else {
749
784
                  return obj(static_cast<decltype(args)>(args)...);
750
784
              }
751
784
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Line
Count
Source
743
454
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454
              cvref<T> obj = *get<T>(fn);
745
454
              if constexpr (std::is_void_v<R>) {
746
454
                  obj(static_cast<decltype(args)>(args)...);
747
454
              }
748
454
              else {
749
454
                  return obj(static_cast<decltype(args)>(args)...);
750
454
              }
751
454
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, wchar_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, wchar_t) const
Line
Count
Source
743
1.62k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.62k
              cvref<T> obj = *get<T>(fn);
745
1.62k
              if constexpr (std::is_void_v<R>) {
746
1.62k
                  obj(static_cast<decltype(args)>(args)...);
747
1.62k
              }
748
1.62k
              else {
749
1.62k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.62k
              }
751
1.62k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
5.08k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.08k
              cvref<T> obj = *get<T>(fn);
745
5.08k
              if constexpr (std::is_void_v<R>) {
746
5.08k
                  obj(static_cast<decltype(args)>(args)...);
747
5.08k
              }
748
5.08k
              else {
749
5.08k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.08k
              }
751
5.08k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
4.86k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.86k
              cvref<T> obj = *get<T>(fn);
745
4.86k
              if constexpr (std::is_void_v<R>) {
746
4.86k
                  obj(static_cast<decltype(args)>(args)...);
747
4.86k
              }
748
4.86k
              else {
749
4.86k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.86k
              }
751
4.86k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
358
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
358
              cvref<T> obj = *get<T>(fn);
745
358
              if constexpr (std::is_void_v<R>) {
746
358
                  obj(static_cast<decltype(args)>(args)...);
747
358
              }
748
358
              else {
749
358
                  return obj(static_cast<decltype(args)>(args)...);
750
358
              }
751
358
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
418
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
418
              cvref<T> obj = *get<T>(fn);
745
418
              if constexpr (std::is_void_v<R>) {
746
418
                  obj(static_cast<decltype(args)>(args)...);
747
418
              }
748
418
              else {
749
418
                  return obj(static_cast<decltype(args)>(args)...);
750
418
              }
751
418
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
78
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
78
              cvref<T> obj = *get<T>(fn);
745
78
              if constexpr (std::is_void_v<R>) {
746
78
                  obj(static_cast<decltype(args)>(args)...);
747
78
              }
748
78
              else {
749
78
                  return obj(static_cast<decltype(args)>(args)...);
750
78
              }
751
78
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
11.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
11.8k
              cvref<T> obj = *get<T>(fn);
745
11.8k
              if constexpr (std::is_void_v<R>) {
746
11.8k
                  obj(static_cast<decltype(args)>(args)...);
747
11.8k
              }
748
11.8k
              else {
749
11.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
11.8k
              }
751
11.8k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
4
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4
              cvref<T> obj = *get<T>(fn);
745
4
              if constexpr (std::is_void_v<R>) {
746
4
                  obj(static_cast<decltype(args)>(args)...);
747
4
              }
748
4
              else {
749
4
                  return obj(static_cast<decltype(args)>(args)...);
750
4
              }
751
4
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
112
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
112
              cvref<T> obj = *get<T>(fn);
745
112
              if constexpr (std::is_void_v<R>) {
746
112
                  obj(static_cast<decltype(args)>(args)...);
747
112
              }
748
112
              else {
749
112
                  return obj(static_cast<decltype(args)>(args)...);
750
112
              }
751
112
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clESW_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
110
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
110
              cvref<T> obj = *get<T>(fn);
745
110
              if constexpr (std::is_void_v<R>) {
746
110
                  obj(static_cast<decltype(args)>(args)...);
747
110
              }
748
110
              else {
749
110
                  return obj(static_cast<decltype(args)>(args)...);
750
110
              }
751
110
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
312
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
312
              cvref<T> obj = *get<T>(fn);
745
312
              if constexpr (std::is_void_v<R>) {
746
312
                  obj(static_cast<decltype(args)>(args)...);
747
312
              }
748
312
              else {
749
312
                  return obj(static_cast<decltype(args)>(args)...);
750
312
              }
751
312
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
11.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
11.2k
              cvref<T> obj = *get<T>(fn);
745
11.2k
              if constexpr (std::is_void_v<R>) {
746
11.2k
                  obj(static_cast<decltype(args)>(args)...);
747
11.2k
              }
748
11.2k
              else {
749
11.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
11.2k
              }
751
11.2k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
230
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
230
              cvref<T> obj = *get<T>(fn);
745
230
              if constexpr (std::is_void_v<R>) {
746
230
                  obj(static_cast<decltype(args)>(args)...);
747
230
              }
748
230
              else {
749
230
                  return obj(static_cast<decltype(args)>(args)...);
750
230
              }
751
230
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
26.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.7k
              cvref<T> obj = *get<T>(fn);
745
26.7k
              if constexpr (std::is_void_v<R>) {
746
26.7k
                  obj(static_cast<decltype(args)>(args)...);
747
26.7k
              }
748
26.7k
              else {
749
26.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.7k
              }
751
26.7k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
412
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
412
              cvref<T> obj = *get<T>(fn);
745
412
              if constexpr (std::is_void_v<R>) {
746
412
                  obj(static_cast<decltype(args)>(args)...);
747
412
              }
748
412
              else {
749
412
                  return obj(static_cast<decltype(args)>(args)...);
750
412
              }
751
412
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
4.39k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.39k
              cvref<T> obj = *get<T>(fn);
745
4.39k
              if constexpr (std::is_void_v<R>) {
746
4.39k
                  obj(static_cast<decltype(args)>(args)...);
747
4.39k
              }
748
4.39k
              else {
749
4.39k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.39k
              }
751
4.39k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
426
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
426
              cvref<T> obj = *get<T>(fn);
745
426
              if constexpr (std::is_void_v<R>) {
746
426
                  obj(static_cast<decltype(args)>(args)...);
747
426
              }
748
426
              else {
749
426
                  return obj(static_cast<decltype(args)>(args)...);
750
426
              }
751
426
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
230
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
230
              cvref<T> obj = *get<T>(fn);
745
230
              if constexpr (std::is_void_v<R>) {
746
230
                  obj(static_cast<decltype(args)>(args)...);
747
230
              }
748
230
              else {
749
230
                  return obj(static_cast<decltype(args)>(args)...);
750
230
              }
751
230
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
412
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
412
              cvref<T> obj = *get<T>(fn);
745
412
              if constexpr (std::is_void_v<R>) {
746
412
                  obj(static_cast<decltype(args)>(args)...);
747
412
              }
748
412
              else {
749
412
                  return obj(static_cast<decltype(args)>(args)...);
750
412
              }
751
412
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
230
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
230
              cvref<T> obj = *get<T>(fn);
745
230
              if constexpr (std::is_void_v<R>) {
746
230
                  obj(static_cast<decltype(args)>(args)...);
747
230
              }
748
230
              else {
749
230
                  return obj(static_cast<decltype(args)>(args)...);
750
230
              }
751
230
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Line
Count
Source
743
412
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
412
              cvref<T> obj = *get<T>(fn);
745
412
              if constexpr (std::is_void_v<R>) {
746
412
                  obj(static_cast<decltype(args)>(args)...);
747
412
              }
748
412
              else {
749
412
                  return obj(static_cast<decltype(args)>(args)...);
750
412
              }
751
412
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
626
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
626
              cvref<T> obj = *get<T>(fn);
745
626
              if constexpr (std::is_void_v<R>) {
746
626
                  obj(static_cast<decltype(args)>(args)...);
747
626
              }
748
626
              else {
749
626
                  return obj(static_cast<decltype(args)>(args)...);
750
626
              }
751
626
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
550
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
550
              cvref<T> obj = *get<T>(fn);
745
550
              if constexpr (std::is_void_v<R>) {
746
550
                  obj(static_cast<decltype(args)>(args)...);
747
550
              }
748
550
              else {
749
550
                  return obj(static_cast<decltype(args)>(args)...);
750
550
              }
751
550
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
2.90k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.90k
              cvref<T> obj = *get<T>(fn);
745
2.90k
              if constexpr (std::is_void_v<R>) {
746
2.90k
                  obj(static_cast<decltype(args)>(args)...);
747
2.90k
              }
748
2.90k
              else {
749
2.90k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.90k
              }
751
2.90k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
486
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
486
              cvref<T> obj = *get<T>(fn);
745
486
              if constexpr (std::is_void_v<R>) {
746
486
                  obj(static_cast<decltype(args)>(args)...);
747
486
              }
748
486
              else {
749
486
                  return obj(static_cast<decltype(args)>(args)...);
750
486
              }
751
486
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
298
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
298
              cvref<T> obj = *get<T>(fn);
745
298
              if constexpr (std::is_void_v<R>) {
746
298
                  obj(static_cast<decltype(args)>(args)...);
747
298
              }
748
298
              else {
749
298
                  return obj(static_cast<decltype(args)>(args)...);
750
298
              }
751
298
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
730
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
730
              cvref<T> obj = *get<T>(fn);
745
730
              if constexpr (std::is_void_v<R>) {
746
730
                  obj(static_cast<decltype(args)>(args)...);
747
730
              }
748
730
              else {
749
730
                  return obj(static_cast<decltype(args)>(args)...);
750
730
              }
751
730
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
752
          m_storage(std::addressof(f))
753
81.3k
    {
754
81.3k
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)
Line
Count
Source
753
3.69k
    {
754
3.69k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)
Line
Count
Source
753
19.7k
    {
754
19.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
22.6k
    {
754
22.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_
Line
Count
Source
753
796
    {
754
796
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Line
Count
Source
753
1.80k
    {
754
1.80k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
412
    {
754
412
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
6
    {
754
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
260
    {
754
260
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
8
    {
754
8
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
258
    {
754
258
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
10
    {
754
10
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
238
    {
754
238
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
732
    {
754
732
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Line
Count
Source
753
336
    {
754
336
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_
Line
Count
Source
753
246
    {
754
246
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
32
    {
754
32
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
2.35k
    {
754
2.35k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_
Line
Count
Source
753
330
    {
754
330
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
32
    {
754
32
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
32
    {
754
32
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)
Line
Count
Source
753
1.11k
    {
754
1.11k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
3.21k
    {
754
3.21k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
3.78k
    {
754
3.78k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_
Line
Count
Source
753
358
    {
754
358
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Line
Count
Source
753
330
    {
754
330
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
78
    {
754
78
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
10.3k
    {
754
10.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
4
    {
754
4
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
112
    {
754
112
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
6
    {
754
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
6
    {
754
6
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
110
    {
754
110
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
6
    {
754
6
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
312
    {
754
312
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
306
    {
754
306
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
2.38k
    {
754
2.38k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
168
    {
754
168
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_
Line
Count
Source
753
48
    {
754
48
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
626
    {
754
626
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_
Line
Count
Source
753
512
    {
754
512
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
1.87k
    {
754
1.87k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
486
    {
754
486
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_
Line
Count
Source
753
256
    {
754
256
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
730
    {
754
730
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
755
756
    template <typename T,
757
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
758
                               !std::is_pointer_v<T>>* = nullptr>
759
    function_ref& operator=(T) = delete;
760
761
    constexpr R operator()(Args... args) const noexcept(noex)
762
961k
    {
763
961k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
961k
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
762
24.1k
    {
763
24.1k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
24.1k
    }
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
891k
    {
763
891k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
891k
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
38.4k
    {
763
38.4k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
38.4k
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
266
    {
763
266
        return m_fptr(m_storage, SCN_FWD(args)...);
764
266
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
874
    {
763
874
        return m_fptr(m_storage, SCN_FWD(args)...);
764
874
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
762
5.17k
    {
763
5.17k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
5.17k
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
116
    {
763
116
        return m_fptr(m_storage, SCN_FWD(args)...);
764
116
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
804
    {
763
804
        return m_fptr(m_storage, SCN_FWD(args)...);
764
804
    }
765
766
private:
767
    fwd_t* m_fptr{nullptr};
768
    storage m_storage;
769
};
770
771
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
772
function_ref(F*) -> function_ref<F>;
773
}  // namespace impl
774
775
/////////////////////////////////////////////////////////////////
776
// Internal error types
777
/////////////////////////////////////////////////////////////////
778
779
namespace impl {
780
enum class eof_error { good, eof };
781
782
inline constexpr bool operator!(eof_error e)
783
44.7k
{
784
44.7k
    return e != eof_error::good;
785
44.7k
}
786
787
template <typename T>
788
struct eof_expected : public expected<T, eof_error> {
789
    using base = expected<T, eof_error>;
790
    using base::base;
791
792
    constexpr eof_expected(const base& other) : base(other) {}
793
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
794
};
795
796
inline constexpr auto make_eof_scan_error(eof_error err)
797
112
{
798
112
    SCN_EXPECT(err == eof_error::eof);
799
112
    return scan_error{scan_error::end_of_range, "EOF"};
800
112
}
801
802
struct SCN_TRIVIAL_ABI parse_error {
803
    enum code { good, eof, error };
804
    using code_t = code;
805
806
    constexpr parse_error() = default;
807
    constexpr parse_error(code c) : m_code(c)
808
42.4k
    {
809
42.4k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
810
42.4k
    }
811
812
    constexpr explicit operator bool() const
813
0
    {
814
0
        return m_code == good;
815
0
    }
816
    constexpr explicit operator code_t() const
817
0
    {
818
0
        return m_code;
819
0
    }
820
821
    friend constexpr bool operator==(parse_error a, parse_error b)
822
15.4k
    {
823
15.4k
        return a.m_code == b.m_code;
824
15.4k
    }
825
    friend constexpr bool operator!=(parse_error a, parse_error b)
826
0
    {
827
0
        return !(a == b);
828
0
    }
829
830
private:
831
    code m_code{good};
832
};
833
834
template <typename T>
835
struct parse_expected : public expected<T, parse_error> {
836
    using base = expected<T, parse_error>;
837
    using base::base;
838
839
    constexpr parse_expected(const base& other) : base(other) {}
840
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
841
};
842
843
inline constexpr parse_error make_eof_parse_error(eof_error err)
844
682
{
845
682
    SCN_EXPECT(err == eof_error::eof);
846
682
    return parse_error::eof;
847
682
}
848
849
inline constexpr scan_error make_scan_error_from_parse_error(
850
    parse_error err,
851
    enum scan_error::code code,
852
    const char* msg)
853
3.62k
{
854
3.62k
    if (err == parse_error::good) {
855
0
        return {};
856
0
    }
857
858
3.62k
    if (err == parse_error::eof) {
859
70
        return scan_error{scan_error::end_of_range, "EOF"};
860
70
    }
861
862
3.55k
    return scan_error{code, msg};
863
3.62k
}
864
865
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
866
                                                    const char* msg)
867
3.62k
{
868
3.62k
    return [code, msg](parse_error err) {
869
3.62k
        return make_scan_error_from_parse_error(err, code, msg);
870
3.62k
    };
871
3.62k
}
872
}  // namespace impl
873
874
namespace detail {
875
template <typename T>
876
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
877
}  // namespace detail
878
879
/////////////////////////////////////////////////////////////////
880
// Range reading support
881
/////////////////////////////////////////////////////////////////
882
883
namespace impl {
884
#if SCN_MSVC_DEBUG_ITERATORS
885
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
886
#else
887
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
888
#endif
889
890
template <typename T>
891
constexpr bool range_supports_nocopy() noexcept
892
{
893
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
894
    return ranges::contiguous_range<T> ||
895
           (ranges::random_access_range<T> &&
896
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
897
#else
898
    return ranges::contiguous_range<T>;
899
#endif
900
}
901
902
template <typename R>
903
constexpr auto range_nocopy_data(const R& r) noexcept
904
{
905
    static_assert(range_supports_nocopy<R>());
906
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
907
    return detail::to_address(ranges::begin(r));
908
#else
909
    return ranges::data(r);
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_size(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
919
                                                detail::to_address(r.end())));
920
#else
921
    return r.size();
922
#endif
923
}
924
925
template <typename I, typename S>
926
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
927
653k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
653k
    {
937
653k
        return begin == end;
938
653k
    }
939
653k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
927
51.5k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
51.5k
    {
937
51.5k
        return begin == end;
938
51.5k
    }
939
51.5k
}
bool scn::v3::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
927
436k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
436k
    {
937
436k
        return begin == end;
938
436k
    }
939
436k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
927
147k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
147k
    {
937
147k
        return begin == end;
938
147k
    }
939
147k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
927
12.1k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
12.1k
    {
937
12.1k
        return begin == end;
938
12.1k
    }
939
12.1k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
927
4.77k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
4.77k
    {
937
4.77k
        return begin == end;
938
4.77k
    }
939
4.77k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
927
1.46k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
1.46k
    {
937
1.46k
        return begin == end;
938
1.46k
    }
939
1.46k
}
940
941
template <typename Range>
942
SCN_NODISCARD constexpr bool is_range_eof(Range r)
943
521k
{
944
521k
    return is_range_eof(r.begin(), r.end());
945
521k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
943
1.86k
{
944
1.86k
    return is_range_eof(r.begin(), r.end());
945
1.86k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
943
49.6k
{
944
49.6k
    return is_range_eof(r.begin(), r.end());
945
49.6k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
943
385k
{
944
385k
    return is_range_eof(r.begin(), r.end());
945
385k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
943
66.4k
{
944
66.4k
    return is_range_eof(r.begin(), r.end());
945
66.4k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
943
832
{
944
832
    return is_range_eof(r.begin(), r.end());
945
832
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
943
11.3k
{
944
11.3k
    return is_range_eof(r.begin(), r.end());
945
11.3k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
943
4.77k
{
944
4.77k
    return is_range_eof(r.begin(), r.end());
945
4.77k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
943
1.46k
{
944
1.46k
    return is_range_eof(r.begin(), r.end());
945
1.46k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
946
947
template <typename Range>
948
SCN_NODISCARD constexpr eof_error eof_check(Range range)
949
44.7k
{
950
44.7k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
112
        return eof_error::eof;
952
112
    }
953
44.6k
    return eof_error::good;
954
44.7k
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
949
1.86k
{
950
1.86k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
1.86k
    return eof_error::good;
954
1.86k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
949
34
{
950
34
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
34
    return eof_error::good;
954
34
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
949
20.7k
{
950
20.7k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
20.7k
    return eof_error::good;
954
20.7k
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
949
18.5k
{
950
18.5k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
18.5k
    return eof_error::good;
954
18.5k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
949
832
{
950
832
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
832
    return eof_error::good;
954
832
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
949
30
{
950
30
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
30
    return eof_error::good;
954
30
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
949
1.87k
{
950
1.87k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
112
        return eof_error::eof;
952
112
    }
953
1.76k
    return eof_error::good;
954
1.87k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
949
730
{
950
730
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
730
    return eof_error::good;
954
730
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
955
956
template <typename Range>
957
bool is_entire_source_contiguous(Range r)
958
13.5k
{
959
13.5k
    if constexpr (ranges::contiguous_range<Range> &&
960
13.5k
                  ranges::sized_range<Range>) {
961
378
        return true;
962
378
    }
963
378
    else if constexpr (std::is_same_v<
964
378
                           ranges::const_iterator_t<Range>,
965
378
                           typename detail::basic_scan_buffer<
966
378
                               detail::char_t<Range>>::forward_iterator>) {
967
378
        auto beg = r.begin();
968
378
        if (!beg.stores_parent()) {
969
0
            return true;
970
0
        }
971
0
        return beg.parent()->is_contiguous();
972
0
    }
973
378
    else {
974
378
        return false;
975
378
    }
976
13.5k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
958
354
{
959
354
    if constexpr (ranges::contiguous_range<Range> &&
960
354
                  ranges::sized_range<Range>) {
961
354
        return true;
962
354
    }
963
354
    else if constexpr (std::is_same_v<
964
354
                           ranges::const_iterator_t<Range>,
965
354
                           typename detail::basic_scan_buffer<
966
354
                               detail::char_t<Range>>::forward_iterator>) {
967
354
        auto beg = r.begin();
968
354
        if (!beg.stores_parent()) {
969
354
            return true;
970
354
        }
971
354
        return beg.parent()->is_contiguous();
972
354
    }
973
354
    else {
974
354
        return false;
975
354
    }
976
354
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
958
9.45k
{
959
9.45k
    if constexpr (ranges::contiguous_range<Range> &&
960
9.45k
                  ranges::sized_range<Range>) {
961
9.45k
        return true;
962
9.45k
    }
963
9.45k
    else if constexpr (std::is_same_v<
964
9.45k
                           ranges::const_iterator_t<Range>,
965
9.45k
                           typename detail::basic_scan_buffer<
966
9.45k
                               detail::char_t<Range>>::forward_iterator>) {
967
9.45k
        auto beg = r.begin();
968
9.45k
        if (!beg.stores_parent()) {
969
9.45k
            return true;
970
9.45k
        }
971
9.45k
        return beg.parent()->is_contiguous();
972
9.45k
    }
973
9.45k
    else {
974
9.45k
        return false;
975
9.45k
    }
976
9.45k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
958
24
{
959
24
    if constexpr (ranges::contiguous_range<Range> &&
960
24
                  ranges::sized_range<Range>) {
961
24
        return true;
962
24
    }
963
24
    else if constexpr (std::is_same_v<
964
24
                           ranges::const_iterator_t<Range>,
965
24
                           typename detail::basic_scan_buffer<
966
24
                               detail::char_t<Range>>::forward_iterator>) {
967
24
        auto beg = r.begin();
968
24
        if (!beg.stores_parent()) {
969
24
            return true;
970
24
        }
971
24
        return beg.parent()->is_contiguous();
972
24
    }
973
24
    else {
974
24
        return false;
975
24
    }
976
24
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
958
3.71k
{
959
3.71k
    if constexpr (ranges::contiguous_range<Range> &&
960
3.71k
                  ranges::sized_range<Range>) {
961
3.71k
        return true;
962
3.71k
    }
963
3.71k
    else if constexpr (std::is_same_v<
964
3.71k
                           ranges::const_iterator_t<Range>,
965
3.71k
                           typename detail::basic_scan_buffer<
966
3.71k
                               detail::char_t<Range>>::forward_iterator>) {
967
3.71k
        auto beg = r.begin();
968
3.71k
        if (!beg.stores_parent()) {
969
3.71k
            return true;
970
3.71k
        }
971
3.71k
        return beg.parent()->is_contiguous();
972
3.71k
    }
973
3.71k
    else {
974
3.71k
        return false;
975
3.71k
    }
976
3.71k
}
977
978
template <typename Range>
979
bool is_segment_contiguous(Range r)
980
13.1k
{
981
13.1k
    if constexpr (ranges::contiguous_range<Range> &&
982
13.1k
                  ranges::sized_range<Range>) {
983
0
        return true;
984
0
    }
985
0
    else if constexpr (std::is_same_v<
986
0
                           ranges::const_iterator_t<Range>,
987
0
                           typename detail::basic_scan_buffer<
988
0
                               detail::char_t<Range>>::forward_iterator>) {
989
0
        auto beg = r.begin();
990
0
        if (beg.contiguous_segment().empty()) {
991
0
            return false;
992
0
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
0
    else {
1006
0
        return false;
1007
0
    }
1008
13.1k
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
980
9.45k
{
981
9.45k
    if constexpr (ranges::contiguous_range<Range> &&
982
9.45k
                  ranges::sized_range<Range>) {
983
9.45k
        return true;
984
9.45k
    }
985
9.45k
    else if constexpr (std::is_same_v<
986
9.45k
                           ranges::const_iterator_t<Range>,
987
9.45k
                           typename detail::basic_scan_buffer<
988
9.45k
                               detail::char_t<Range>>::forward_iterator>) {
989
9.45k
        auto beg = r.begin();
990
9.45k
        if (beg.contiguous_segment().empty()) {
991
9.45k
            return false;
992
9.45k
        }
993
9.45k
        if constexpr (ranges::common_range<Range>) {
994
9.45k
            return beg.contiguous_segment().end() ==
995
9.45k
                   ranges::end(r).contiguous_segment().end();
996
9.45k
        }
997
9.45k
        else {
998
9.45k
            if (beg.stores_parent()) {
999
9.45k
                return beg.contiguous_segment().end() ==
1000
9.45k
                       beg.parent()->current_view().end();
1001
9.45k
            }
1002
9.45k
            return true;
1003
9.45k
        }
1004
9.45k
    }
1005
9.45k
    else {
1006
9.45k
        return false;
1007
9.45k
    }
1008
9.45k
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
980
3.71k
{
981
3.71k
    if constexpr (ranges::contiguous_range<Range> &&
982
3.71k
                  ranges::sized_range<Range>) {
983
3.71k
        return true;
984
3.71k
    }
985
3.71k
    else if constexpr (std::is_same_v<
986
3.71k
                           ranges::const_iterator_t<Range>,
987
3.71k
                           typename detail::basic_scan_buffer<
988
3.71k
                               detail::char_t<Range>>::forward_iterator>) {
989
3.71k
        auto beg = r.begin();
990
3.71k
        if (beg.contiguous_segment().empty()) {
991
3.71k
            return false;
992
3.71k
        }
993
3.71k
        if constexpr (ranges::common_range<Range>) {
994
3.71k
            return beg.contiguous_segment().end() ==
995
3.71k
                   ranges::end(r).contiguous_segment().end();
996
3.71k
        }
997
3.71k
        else {
998
3.71k
            if (beg.stores_parent()) {
999
3.71k
                return beg.contiguous_segment().end() ==
1000
3.71k
                       beg.parent()->current_view().end();
1001
3.71k
            }
1002
3.71k
            return true;
1003
3.71k
        }
1004
3.71k
    }
1005
3.71k
    else {
1006
3.71k
        return false;
1007
3.71k
    }
1008
3.71k
}
1009
1010
template <typename Range>
1011
std::size_t contiguous_beginning_size(Range r)
1012
{
1013
    if constexpr (ranges::contiguous_range<Range> &&
1014
                  ranges::sized_range<Range>) {
1015
        return r.size();
1016
    }
1017
    else if constexpr (std::is_same_v<
1018
                           ranges::const_iterator_t<Range>,
1019
                           typename detail::basic_scan_buffer<
1020
                               detail::char_t<Range>>::forward_iterator>) {
1021
        if constexpr (ranges::common_range<Range>) {
1022
            auto seg = r.begin().contiguous_segment();
1023
            auto dist =
1024
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1025
            return std::min(seg.size(), dist);
1026
        }
1027
        else {
1028
            return r.begin().contiguous_segment().size();
1029
        }
1030
    }
1031
    else {
1032
        return false;
1033
    }
1034
}
1035
1036
template <typename Range>
1037
auto get_contiguous_beginning(Range r)
1038
3.01k
{
1039
3.01k
    if constexpr (ranges::contiguous_range<Range> &&
1040
3.01k
                  ranges::sized_range<Range>) {
1041
3.01k
        return r;
1042
3.01k
    }
1043
3.01k
    else if constexpr (std::is_same_v<
1044
3.01k
                           ranges::const_iterator_t<Range>,
1045
3.01k
                           typename detail::basic_scan_buffer<
1046
3.01k
                               detail::char_t<Range>>::forward_iterator>) {
1047
3.01k
        if constexpr (ranges::common_range<Range>) {
1048
0
            auto seg = r.begin().contiguous_segment();
1049
0
            auto dist =
1050
0
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
0
            return seg.substr(0, std::min(seg.size(), dist));
1052
0
        }
1053
0
        else {
1054
0
            return r.begin().contiguous_segment();
1055
0
        }
1056
0
    }
1057
3.01k
    else {
1058
3.01k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
3.01k
    }
1060
3.01k
}
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1038
1.14k
{
1039
1.14k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.14k
                  ranges::sized_range<Range>) {
1041
1.14k
        return r;
1042
1.14k
    }
1043
1.14k
    else if constexpr (std::is_same_v<
1044
1.14k
                           ranges::const_iterator_t<Range>,
1045
1.14k
                           typename detail::basic_scan_buffer<
1046
1.14k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.14k
        if constexpr (ranges::common_range<Range>) {
1048
1.14k
            auto seg = r.begin().contiguous_segment();
1049
1.14k
            auto dist =
1050
1.14k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.14k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.14k
        }
1053
1.14k
        else {
1054
1.14k
            return r.begin().contiguous_segment();
1055
1.14k
        }
1056
1.14k
    }
1057
1.14k
    else {
1058
1.14k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.14k
    }
1060
1.14k
}
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1038
1.87k
{
1039
1.87k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.87k
                  ranges::sized_range<Range>) {
1041
1.87k
        return r;
1042
1.87k
    }
1043
1.87k
    else if constexpr (std::is_same_v<
1044
1.87k
                           ranges::const_iterator_t<Range>,
1045
1.87k
                           typename detail::basic_scan_buffer<
1046
1.87k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.87k
        if constexpr (ranges::common_range<Range>) {
1048
1.87k
            auto seg = r.begin().contiguous_segment();
1049
1.87k
            auto dist =
1050
1.87k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.87k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.87k
        }
1053
1.87k
        else {
1054
1.87k
            return r.begin().contiguous_segment();
1055
1.87k
        }
1056
1.87k
    }
1057
1.87k
    else {
1058
1.87k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.87k
    }
1060
1.87k
}
1061
1062
template <typename Range>
1063
auto get_as_contiguous(Range r)
1064
13.1k
{
1065
13.1k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
13.1k
    if constexpr (ranges::contiguous_range<Range> &&
1068
13.1k
                  ranges::sized_range<Range>) {
1069
0
        return r;
1070
0
    }
1071
0
    else if constexpr (std::is_same_v<
1072
0
                           ranges::const_iterator_t<Range>,
1073
0
                           typename detail::basic_scan_buffer<
1074
0
                               detail::char_t<Range>>::forward_iterator>) {
1075
0
        if constexpr (ranges::common_range<Range>) {
1076
0
            return detail::make_string_view_from_pointers(
1077
0
                r.begin().to_contiguous_segment_iterator(),
1078
0
                r.end().to_contiguous_segment_iterator());
1079
0
        }
1080
0
        else {
1081
0
            return r.begin().contiguous_segment();
1082
0
        }
1083
0
    }
1084
0
    else {
1085
0
        SCN_EXPECT(false);
1086
0
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
0
        return std::basic_string_view<detail::char_t<Range>>{};
1089
0
    }
1090
13.1k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1064
9.45k
{
1065
9.45k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
9.45k
    if constexpr (ranges::contiguous_range<Range> &&
1068
9.45k
                  ranges::sized_range<Range>) {
1069
9.45k
        return r;
1070
9.45k
    }
1071
9.45k
    else if constexpr (std::is_same_v<
1072
9.45k
                           ranges::const_iterator_t<Range>,
1073
9.45k
                           typename detail::basic_scan_buffer<
1074
9.45k
                               detail::char_t<Range>>::forward_iterator>) {
1075
9.45k
        if constexpr (ranges::common_range<Range>) {
1076
9.45k
            return detail::make_string_view_from_pointers(
1077
9.45k
                r.begin().to_contiguous_segment_iterator(),
1078
9.45k
                r.end().to_contiguous_segment_iterator());
1079
9.45k
        }
1080
9.45k
        else {
1081
9.45k
            return r.begin().contiguous_segment();
1082
9.45k
        }
1083
9.45k
    }
1084
9.45k
    else {
1085
9.45k
        SCN_EXPECT(false);
1086
9.45k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
9.45k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
9.45k
    }
1090
9.45k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
1064
3.71k
{
1065
3.71k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
3.71k
    if constexpr (ranges::contiguous_range<Range> &&
1068
3.71k
                  ranges::sized_range<Range>) {
1069
3.71k
        return r;
1070
3.71k
    }
1071
3.71k
    else if constexpr (std::is_same_v<
1072
3.71k
                           ranges::const_iterator_t<Range>,
1073
3.71k
                           typename detail::basic_scan_buffer<
1074
3.71k
                               detail::char_t<Range>>::forward_iterator>) {
1075
3.71k
        if constexpr (ranges::common_range<Range>) {
1076
3.71k
            return detail::make_string_view_from_pointers(
1077
3.71k
                r.begin().to_contiguous_segment_iterator(),
1078
3.71k
                r.end().to_contiguous_segment_iterator());
1079
3.71k
        }
1080
3.71k
        else {
1081
3.71k
            return r.begin().contiguous_segment();
1082
3.71k
        }
1083
3.71k
    }
1084
3.71k
    else {
1085
3.71k
        SCN_EXPECT(false);
1086
3.71k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
3.71k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
3.71k
    }
1090
3.71k
}
1091
1092
template <typename Range>
1093
std::size_t guaranteed_minimum_size(Range r)
1094
3.77k
{
1095
3.77k
    if constexpr (ranges::sized_range<Range>) {
1096
3.77k
        return r.size();
1097
3.77k
    }
1098
3.77k
    else if constexpr (std::is_same_v<
1099
3.77k
                           ranges::const_iterator_t<Range>,
1100
3.77k
                           typename detail::basic_scan_buffer<
1101
3.77k
                               detail::char_t<Range>>::forward_iterator>) {
1102
3.77k
        if constexpr (ranges::common_range<Range>) {
1103
0
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
0
        }
1105
0
        else {
1106
0
            if (r.begin().stores_parent()) {
1107
0
                return static_cast<size_t>(
1108
0
                    r.begin().parent()->chars_available() -
1109
0
                    r.begin().position());
1110
0
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
0
        }
1113
0
    }
1114
3.77k
    else {
1115
3.77k
        return 0;
1116
3.77k
    }
1117
3.77k
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1094
2.18k
{
1095
2.18k
    if constexpr (ranges::sized_range<Range>) {
1096
2.18k
        return r.size();
1097
2.18k
    }
1098
2.18k
    else if constexpr (std::is_same_v<
1099
2.18k
                           ranges::const_iterator_t<Range>,
1100
2.18k
                           typename detail::basic_scan_buffer<
1101
2.18k
                               detail::char_t<Range>>::forward_iterator>) {
1102
2.18k
        if constexpr (ranges::common_range<Range>) {
1103
2.18k
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
2.18k
        }
1105
2.18k
        else {
1106
2.18k
            if (r.begin().stores_parent()) {
1107
2.18k
                return static_cast<size_t>(
1108
2.18k
                    r.begin().parent()->chars_available() -
1109
2.18k
                    r.begin().position());
1110
2.18k
            }
1111
2.18k
            return r.begin().contiguous_segment().size();
1112
2.18k
        }
1113
2.18k
    }
1114
2.18k
    else {
1115
2.18k
        return 0;
1116
2.18k
    }
1117
2.18k
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1094
520
{
1095
520
    if constexpr (ranges::sized_range<Range>) {
1096
520
        return r.size();
1097
520
    }
1098
520
    else if constexpr (std::is_same_v<
1099
520
                           ranges::const_iterator_t<Range>,
1100
520
                           typename detail::basic_scan_buffer<
1101
520
                               detail::char_t<Range>>::forward_iterator>) {
1102
520
        if constexpr (ranges::common_range<Range>) {
1103
520
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
520
        }
1105
520
        else {
1106
520
            if (r.begin().stores_parent()) {
1107
520
                return static_cast<size_t>(
1108
520
                    r.begin().parent()->chars_available() -
1109
520
                    r.begin().position());
1110
520
            }
1111
520
            return r.begin().contiguous_segment().size();
1112
520
        }
1113
520
    }
1114
520
    else {
1115
520
        return 0;
1116
520
    }
1117
520
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1094
204
{
1095
204
    if constexpr (ranges::sized_range<Range>) {
1096
204
        return r.size();
1097
204
    }
1098
204
    else if constexpr (std::is_same_v<
1099
204
                           ranges::const_iterator_t<Range>,
1100
204
                           typename detail::basic_scan_buffer<
1101
204
                               detail::char_t<Range>>::forward_iterator>) {
1102
204
        if constexpr (ranges::common_range<Range>) {
1103
204
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
204
        }
1105
204
        else {
1106
204
            if (r.begin().stores_parent()) {
1107
204
                return static_cast<size_t>(
1108
204
                    r.begin().parent()->chars_available() -
1109
204
                    r.begin().position());
1110
204
            }
1111
204
            return r.begin().contiguous_segment().size();
1112
204
        }
1113
204
    }
1114
204
    else {
1115
204
        return 0;
1116
204
    }
1117
204
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1094
612
{
1095
612
    if constexpr (ranges::sized_range<Range>) {
1096
612
        return r.size();
1097
612
    }
1098
612
    else if constexpr (std::is_same_v<
1099
612
                           ranges::const_iterator_t<Range>,
1100
612
                           typename detail::basic_scan_buffer<
1101
612
                               detail::char_t<Range>>::forward_iterator>) {
1102
612
        if constexpr (ranges::common_range<Range>) {
1103
612
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
612
        }
1105
612
        else {
1106
612
            if (r.begin().stores_parent()) {
1107
612
                return static_cast<size_t>(
1108
612
                    r.begin().parent()->chars_available() -
1109
612
                    r.begin().position());
1110
612
            }
1111
612
            return r.begin().contiguous_segment().size();
1112
612
        }
1113
612
    }
1114
612
    else {
1115
612
        return 0;
1116
612
    }
1117
612
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1094
256
{
1095
256
    if constexpr (ranges::sized_range<Range>) {
1096
256
        return r.size();
1097
256
    }
1098
256
    else if constexpr (std::is_same_v<
1099
256
                           ranges::const_iterator_t<Range>,
1100
256
                           typename detail::basic_scan_buffer<
1101
256
                               detail::char_t<Range>>::forward_iterator>) {
1102
256
        if constexpr (ranges::common_range<Range>) {
1103
256
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
256
        }
1105
256
        else {
1106
256
            if (r.begin().stores_parent()) {
1107
256
                return static_cast<size_t>(
1108
256
                    r.begin().parent()->chars_available() -
1109
256
                    r.begin().position());
1110
256
            }
1111
256
            return r.begin().contiguous_segment().size();
1112
256
        }
1113
256
    }
1114
256
    else {
1115
256
        return 0;
1116
256
    }
1117
256
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
1118
1119
template <typename I, typename T>
1120
struct iterator_value_result {
1121
    SCN_NO_UNIQUE_ADDRESS I iterator;
1122
    SCN_NO_UNIQUE_ADDRESS T value;
1123
};
1124
1125
/////////////////////////////////////////////////////////////////
1126
// Unicode
1127
/////////////////////////////////////////////////////////////////
1128
1129
template <typename CharT>
1130
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1131
13.6k
{
1132
13.6k
    auto it = src.begin();
1133
621k
    while (it != src.end()) {
1134
610k
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
610k
        if (len == 0) {
1136
1.16k
            return false;
1137
1.16k
        }
1138
609k
        if (src.end() - it < len) {
1139
258
            return false;
1140
258
        }
1141
609k
        const auto cp = detail::decode_code_point_exhaustive(
1142
609k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
609k
        if (cp >= detail::invalid_code_point) {
1144
1.50k
            return false;
1145
1.50k
        }
1146
607k
        it += len;
1147
607k
    }
1148
10.7k
    return true;
1149
13.6k
}
bool scn::v3::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1131
9.74k
{
1132
9.74k
    auto it = src.begin();
1133
585k
    while (it != src.end()) {
1134
577k
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
577k
        if (len == 0) {
1136
1.16k
            return false;
1137
1.16k
        }
1138
576k
        if (src.end() - it < len) {
1139
258
            return false;
1140
258
        }
1141
576k
        const auto cp = detail::decode_code_point_exhaustive(
1142
576k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
576k
        if (cp >= detail::invalid_code_point) {
1144
462
            return false;
1145
462
        }
1146
576k
        it += len;
1147
576k
    }
1148
7.85k
    return true;
1149
9.74k
}
bool scn::v3::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1131
3.94k
{
1132
3.94k
    auto it = src.begin();
1133
35.6k
    while (it != src.end()) {
1134
32.7k
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
32.7k
        if (len == 0) {
1136
0
            return false;
1137
0
        }
1138
32.7k
        if (src.end() - it < len) {
1139
0
            return false;
1140
0
        }
1141
32.7k
        const auto cp = detail::decode_code_point_exhaustive(
1142
32.7k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
32.7k
        if (cp >= detail::invalid_code_point) {
1144
1.04k
            return false;
1145
1.04k
        }
1146
31.7k
        it += len;
1147
31.7k
    }
1148
2.90k
    return true;
1149
3.94k
}
1150
1151
template <typename Range>
1152
constexpr auto get_start_for_next_code_point(Range input)
1153
    -> ranges::const_iterator_t<Range>
1154
19.9k
{
1155
19.9k
    auto it = input.begin();
1156
98.8k
    for (; it != input.end(); ++it) {
1157
97.3k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
18.4k
            break;
1159
18.4k
        }
1160
97.3k
    }
1161
19.9k
    return it;
1162
19.9k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1154
15.9k
{
1155
15.9k
    auto it = input.begin();
1156
88.8k
    for (; it != input.end(); ++it) {
1157
87.5k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
14.6k
            break;
1159
14.6k
        }
1160
87.5k
    }
1161
15.9k
    return it;
1162
15.9k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1154
2.32k
{
1155
2.32k
    auto it = input.begin();
1156
6.54k
    for (; it != input.end(); ++it) {
1157
6.41k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
2.19k
            break;
1159
2.19k
        }
1160
6.41k
    }
1161
2.32k
    return it;
1162
2.32k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1154
1.62k
{
1155
1.62k
    auto it = input.begin();
1156
3.39k
    for (; it != input.end(); ++it) {
1157
3.35k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
1.57k
            break;
1159
1.57k
        }
1160
3.35k
    }
1161
1.62k
    return it;
1162
1.62k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1163
1164
template <typename CharT>
1165
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1166
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1167
                             char32_t>
1168
930k
{
1169
930k
    SCN_EXPECT(!input.empty());
1170
1171
930k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
930k
    if (SCN_UNLIKELY(len == 0)) {
1173
15.9k
        return {get_start_for_next_code_point(input),
1174
15.9k
                detail::invalid_code_point};
1175
15.9k
    }
1176
914k
    if (SCN_UNLIKELY(len > input.size())) {
1177
987
        return {input.end(), detail::invalid_code_point};
1178
987
    }
1179
1180
913k
    return {input.begin() + len,
1181
913k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
914k
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v3::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1168
844k
{
1169
844k
    SCN_EXPECT(!input.empty());
1170
1171
844k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
844k
    if (SCN_UNLIKELY(len == 0)) {
1173
15.9k
        return {get_start_for_next_code_point(input),
1174
15.9k
                detail::invalid_code_point};
1175
15.9k
    }
1176
828k
    if (SCN_UNLIKELY(len > input.size())) {
1177
987
        return {input.end(), detail::invalid_code_point};
1178
987
    }
1179
1180
827k
    return {input.begin() + len,
1181
827k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
828k
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v3::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1168
86.2k
{
1169
86.2k
    SCN_EXPECT(!input.empty());
1170
1171
86.2k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
86.2k
    if (SCN_UNLIKELY(len == 0)) {
1173
0
        return {get_start_for_next_code_point(input),
1174
0
                detail::invalid_code_point};
1175
0
    }
1176
86.2k
    if (SCN_UNLIKELY(len > input.size())) {
1177
0
        return {input.end(), detail::invalid_code_point};
1178
0
    }
1179
1180
86.2k
    return {input.begin() + len,
1181
86.2k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
86.2k
}
1183
1184
template <typename CharT>
1185
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1186
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1187
                             char32_t>
1188
137k
{
1189
137k
    SCN_EXPECT(!input.empty());
1190
1191
137k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1192
137k
    SCN_EXPECT(len <= input.size());
1193
1194
137k
    return {input.begin() + len,
1195
137k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1196
137k
}
1197
1198
constexpr bool is_cp_space(char32_t cp) noexcept
1199
235k
{
1200
    // Pattern_White_Space property
1201
235k
    return (cp >= 0x09 && cp <= 0x0d) ||
1202
235k
           cp == 0x20 ||    // ASCII space characters
1203
235k
           cp == 0x85 ||    // NEXT LINE (NEL)
1204
235k
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
1205
235k
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
1206
235k
           cp == 0x2028 ||  // LINE SEPARATOR
1207
235k
           cp == 0x2029;    // PARAGRAPH SEPARATOR
1208
235k
}
1209
1210
template <typename CharT>
1211
struct is_first_char_space_result {
1212
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1213
    char32_t cp;
1214
    bool is_space;
1215
};
1216
1217
template <typename CharT>
1218
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1219
    -> is_first_char_space_result<CharT>
1220
130k
{
1221
    // TODO: optimize
1222
130k
    SCN_EXPECT(!str.empty());
1223
130k
    auto res = get_next_code_point(str);
1224
130k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
130k
}
scn::v3::impl::is_first_char_space_result<char> scn::v3::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1220
49.6k
{
1221
    // TODO: optimize
1222
49.6k
    SCN_EXPECT(!str.empty());
1223
49.6k
    auto res = get_next_code_point(str);
1224
49.6k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
49.6k
}
scn::v3::impl::is_first_char_space_result<wchar_t> scn::v3::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1220
81.1k
{
1221
    // TODO: optimize
1222
81.1k
    SCN_EXPECT(!str.empty());
1223
81.1k
    auto res = get_next_code_point(str);
1224
81.1k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
81.1k
}
1226
1227
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1228
    char32_t cp,
1229
    bool error_on_overflow)
1230
0
{
1231
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1232
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1233
0
        SCN_UNUSED(error_on_overflow);
1234
0
        return static_cast<wchar_t>(cp);
1235
0
    }
1236
0
    else {
1237
0
        if (cp < 0x10000) {
1238
0
            return static_cast<wchar_t>(cp);
1239
0
        }
1240
0
        if (error_on_overflow) {
1241
0
            return unexpected_scan_error(scan_error::value_out_of_range,
1242
0
                                         "Non-BOM code point can't be "
1243
0
                                         "narrowed to a single 2-byte "
1244
0
                                         "wchar_t code unit");
1245
0
        }
1246
        // Return the lead surrogate
1247
0
        return static_cast<wchar_t>(
1248
0
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1249
0
    }
1250
0
}
1251
1252
template <typename SourceCharT, typename DestCharT>
1253
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1254
                                   std::basic_string<DestCharT>& dest)
1255
4.49k
{
1256
4.49k
    static_assert(sizeof(DestCharT) == 4);
1257
1258
4.49k
    auto it = src.begin();
1259
729k
    while (it != src.end()) {
1260
725k
        auto res = get_next_code_point(
1261
725k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1262
725k
                                                                 src.end()));
1263
725k
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1264
17.8k
            dest.push_back(DestCharT{0xfffd});
1265
17.8k
        }
1266
707k
        else {
1267
707k
            dest.push_back(res.value);
1268
707k
        }
1269
725k
        it = detail::make_string_view_iterator(src, res.iterator);
1270
725k
    }
1271
4.49k
}
1272
template <typename SourceCharT, typename DestCharT>
1273
void transcode_valid_to_string_impl_to32(
1274
    std::basic_string_view<SourceCharT> src,
1275
    std::basic_string<DestCharT>& dest)
1276
1.96k
{
1277
1.96k
    static_assert(sizeof(DestCharT) == 4);
1278
1279
1.96k
    auto it = src.begin();
1280
139k
    while (it != src.end()) {
1281
137k
        auto res = get_next_code_point_valid(
1282
137k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1283
137k
                                                                 src.end()));
1284
137k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1285
137k
        dest.push_back(res.value);
1286
137k
        it = detail::make_string_view_iterator(src, res.iterator);
1287
137k
    }
1288
1.96k
}
1289
1290
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1291
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1292
                                    std::basic_string<DestCharT>& dest)
1293
726
{
1294
726
    static_assert(sizeof(SourceCharT) == 4);
1295
726
    static_assert(sizeof(DestCharT) == 1);
1296
1297
6.05k
    for (auto cp : src) {
1298
6.05k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
6.05k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
0
            dest.push_back(static_cast<char>(0xef));
1302
0
            dest.push_back(static_cast<char>(0xbf));
1303
0
            dest.push_back(static_cast<char>(0xbd));
1304
0
        }
1305
6.05k
        else if (cp < 128) {
1306
5.13k
            dest.push_back(static_cast<char>(cp));
1307
5.13k
        }
1308
920
        else if (cp < 2048) {
1309
136
            dest.push_back(
1310
136
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
136
            dest.push_back(
1312
136
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
136
        }
1314
784
        else if (cp < 65536) {
1315
356
            dest.push_back(
1316
356
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
356
            dest.push_back(static_cast<char>(
1318
356
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
356
            dest.push_back(
1320
356
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
356
        }
1322
428
        else {
1323
428
            dest.push_back(
1324
428
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
428
            dest.push_back(static_cast<char>(
1326
428
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
428
            dest.push_back(static_cast<char>(
1328
428
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
428
            dest.push_back(
1330
428
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
428
        }
1332
6.05k
    }
1333
726
}
1334
1335
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1336
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1337
                                     std::basic_string<DestCharT>& dest)
1338
{
1339
    static_assert(sizeof(SourceCharT) == 4);
1340
    static_assert(sizeof(DestCharT) == 2);
1341
1342
    for (auto cp : src) {
1343
        const auto u32cp = static_cast<uint32_t>(cp);
1344
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1345
            dest.push_back(char16_t{0xfffd});
1346
        }
1347
        else if (cp < 0x10000) {
1348
            dest.push_back(static_cast<char16_t>(cp));
1349
        }
1350
        else {
1351
            dest.push_back(
1352
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1353
            dest.push_back(
1354
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1355
        }
1356
    }
1357
}
1358
1359
template <typename SourceCharT, typename DestCharT>
1360
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1361
                         std::basic_string<DestCharT>& dest)
1362
4.49k
{
1363
4.49k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
4.49k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
4.49k
        if constexpr (sizeof(DestCharT) == 2) {
1367
4.49k
            std::u32string tmp;
1368
4.49k
            transcode_to_string_impl_to32(src, tmp);
1369
4.49k
            return transcode_to_string_impl_32to16<false>(
1370
4.49k
                std::u32string_view{tmp}, dest);
1371
4.49k
        }
1372
4.49k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
4.49k
            return transcode_to_string_impl_to32(src, dest);
1374
4.49k
        }
1375
4.49k
    }
1376
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
0
        if constexpr (sizeof(DestCharT) == 1) {
1378
0
            std::u32string tmp;
1379
0
            transcode_to_string_impl_to32(src, tmp);
1380
0
            return transcode_to_string_impl_32to8<false>(
1381
0
                std::u32string_view{tmp}, dest);
1382
0
        }
1383
0
        else if constexpr (sizeof(DestCharT) == 4) {
1384
0
            return trasncode_to_string_impl_to32(src, dest);
1385
0
        }
1386
0
    }
1387
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
0
        if constexpr (sizeof(DestCharT) == 1) {
1389
0
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
0
        }
1391
0
        else if constexpr (sizeof(DestCharT) == 2) {
1392
0
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
0
        }
1394
0
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
1399
template <typename SourceCharT, typename DestCharT>
1400
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1401
                               std::basic_string<DestCharT>& dest)
1402
2.69k
{
1403
2.69k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
2.69k
    SCN_EXPECT(validate_unicode(src));
1406
2.69k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
1.96k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
1.96k
            std::u32string tmp;
1410
1.96k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
1.96k
            return transcode_to_string_impl_32to16<true>(
1412
1.96k
                std::u32string_view{tmp}, dest);
1413
1.96k
        }
1414
1.96k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
1.96k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
1.96k
        }
1417
1.96k
    }
1418
726
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
726
        if constexpr (sizeof(DestCharT) == 1) {
1420
726
            std::u32string tmp;
1421
726
            transcode_valid_to_string_impl_to32(src, tmp);
1422
726
            return transcode_to_string_impl_32to8<true>(
1423
726
                std::u32string_view{tmp}, dest);
1424
726
        }
1425
726
        else if constexpr (sizeof(DestCharT) == 4) {
1426
726
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
726
        }
1428
726
    }
1429
726
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
726
        if constexpr (sizeof(DestCharT) == 1) {
1431
726
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
726
        }
1433
726
        else if constexpr (sizeof(DestCharT) == 2) {
1434
726
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
726
        }
1436
726
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1402
1.96k
{
1403
1.96k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
1.96k
    SCN_EXPECT(validate_unicode(src));
1406
1.96k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
1.96k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
1.96k
            std::u32string tmp;
1410
1.96k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
1.96k
            return transcode_to_string_impl_32to16<true>(
1412
1.96k
                std::u32string_view{tmp}, dest);
1413
1.96k
        }
1414
1.96k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
1.96k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
1.96k
        }
1417
1.96k
    }
1418
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
0
        if constexpr (sizeof(DestCharT) == 1) {
1420
0
            std::u32string tmp;
1421
0
            transcode_valid_to_string_impl_to32(src, tmp);
1422
0
            return transcode_to_string_impl_32to8<true>(
1423
0
                std::u32string_view{tmp}, dest);
1424
0
        }
1425
0
        else if constexpr (sizeof(DestCharT) == 4) {
1426
0
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
0
        }
1428
0
    }
1429
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
0
        if constexpr (sizeof(DestCharT) == 1) {
1431
0
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
0
        }
1433
0
        else if constexpr (sizeof(DestCharT) == 2) {
1434
0
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
0
        }
1436
0
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1402
726
{
1403
726
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
726
    SCN_EXPECT(validate_unicode(src));
1406
726
    if constexpr (sizeof(SourceCharT) == 1) {
1407
726
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
726
            std::u32string tmp;
1410
726
            transcode_valid_to_string_impl_to32(src, tmp);
1411
726
            return transcode_to_string_impl_32to16<true>(
1412
726
                std::u32string_view{tmp}, dest);
1413
726
        }
1414
726
        else if constexpr (sizeof(DestCharT) == 4) {
1415
726
            return transcode_valid_to_string_impl_to32(src, dest);
1416
726
        }
1417
726
    }
1418
726
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
726
        if constexpr (sizeof(DestCharT) == 1) {
1420
726
            std::u32string tmp;
1421
726
            transcode_valid_to_string_impl_to32(src, tmp);
1422
726
            return transcode_to_string_impl_32to8<true>(
1423
726
                std::u32string_view{tmp}, dest);
1424
726
        }
1425
726
        else if constexpr (sizeof(DestCharT) == 4) {
1426
726
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
726
        }
1428
726
    }
1429
726
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
726
        if constexpr (sizeof(DestCharT) == 1) {
1431
726
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
726
        }
1433
726
        else if constexpr (sizeof(DestCharT) == 2) {
1434
726
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
726
        }
1436
726
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
1441
1442
template <typename CharT>
1443
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1444
                                   function_ref<void(char32_t)> cb)
1445
25.8k
{
1446
    // TODO: Could be optimized by being eager
1447
25.8k
    auto it = input.begin();
1448
64.2k
    while (it != input.end()) {
1449
38.4k
        auto res = get_next_code_point(
1450
38.4k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
38.4k
        cb(res.value);
1452
38.4k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
38.4k
    }
1454
25.8k
}
void scn::v3::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
22.6k
{
1446
    // TODO: Could be optimized by being eager
1447
22.6k
    auto it = input.begin();
1448
55.9k
    while (it != input.end()) {
1449
33.3k
        auto res = get_next_code_point(
1450
33.3k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
33.3k
        cb(res.value);
1452
33.3k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
33.3k
    }
1454
22.6k
}
void scn::v3::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
3.21k
{
1446
    // TODO: Could be optimized by being eager
1447
3.21k
    auto it = input.begin();
1448
8.29k
    while (it != input.end()) {
1449
5.08k
        auto res = get_next_code_point(
1450
5.08k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
5.08k
        cb(res.value);
1452
5.08k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
5.08k
    }
1454
3.21k
}
1455
1456
template <typename CharT>
1457
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1458
                                         function_ref<void(char32_t)> cb)
1459
{
1460
    auto it = input.begin();
1461
    while (it != input.end()) {
1462
        auto res = get_next_code_point_valid(
1463
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1464
        cb(res.value);
1465
        it = detail::make_string_view_iterator(input, res.iterator);
1466
    }
1467
}
1468
1469
/////////////////////////////////////////////////////////////////
1470
// contiguous_range_factory
1471
/////////////////////////////////////////////////////////////////
1472
1473
template <typename View>
1474
class take_width_view;
1475
1476
template <typename CharT>
1477
struct string_view_wrapper {
1478
    using char_type = CharT;
1479
    using string_type = std::basic_string<CharT>;
1480
    using string_view_type = std::basic_string_view<CharT>;
1481
1482
    constexpr string_view_wrapper() = default;
1483
1484
    template <typename Range,
1485
              std::enable_if_t<ranges::borrowed_range<Range> &&
1486
                               ranges::contiguous_range<Range> &&
1487
                               ranges::sized_range<Range>>* = nullptr>
1488
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1489
41.9k
    {
1490
41.9k
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1489
12.9k
    {
1490
12.9k
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1489
14.9k
    {
1490
14.9k
    }
scn::v3::impl::string_view_wrapper<wchar_t>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1489
8.55k
    {
1490
8.55k
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, (void*)0>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1489
5.51k
    {
1490
5.51k
    }
1491
1492
    template <typename Range,
1493
              std::enable_if_t<ranges::borrowed_range<Range> &&
1494
                               ranges::contiguous_range<Range> &&
1495
                               ranges::sized_range<Range>>* = nullptr>
1496
    void assign(Range&& r)
1497
    {
1498
        sv = string_view_type{ranges::data(r), r.size()};
1499
    }
1500
1501
    constexpr auto view() const
1502
67.0k
    {
1503
67.0k
        return sv;
1504
67.0k
    }
scn::v3::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1502
57.1k
    {
1503
57.1k
        return sv;
1504
57.1k
    }
scn::v3::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1502
9.87k
    {
1503
9.87k
        return sv;
1504
9.87k
    }
1505
1506
    constexpr bool stores_allocated_string() const
1507
0
    {
1508
0
        return false;
1509
0
    }
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1510
1511
    [[noreturn]] string_type get_allocated_string() const
1512
    {
1513
        SCN_EXPECT(false);
1514
        SCN_UNREACHABLE;
1515
    }
1516
1517
    string_view_type sv;
1518
};
1519
1520
template <typename Range>
1521
string_view_wrapper(Range)
1522
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1523
1524
template <typename CharT>
1525
class contiguous_range_factory {
1526
public:
1527
    using char_type = CharT;
1528
    using string_type = std::basic_string<CharT>;
1529
    using string_view_type = std::basic_string_view<CharT>;
1530
1531
4.12k
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1531
2.28k
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1531
1.84k
    contiguous_range_factory() = default;
1532
1533
    template <typename Range,
1534
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1535
    contiguous_range_factory(Range&& range)
1536
1.80k
    {
1537
1.80k
        emplace_range(SCN_FWD(range));
1538
1.80k
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1536
1.51k
    {
1537
1.51k
        emplace_range(SCN_FWD(range));
1538
1.51k
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1536
290
    {
1537
290
        emplace_range(SCN_FWD(range));
1538
290
    }
1539
1540
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1541
        : m_storage(std::nullopt), m_view(svw.view())
1542
    {
1543
    }
1544
1545
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1546
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1547
        delete;
1548
1549
    contiguous_range_factory(contiguous_range_factory&& other)
1550
        : m_storage(SCN_MOVE(other.m_storage))
1551
    {
1552
        if (m_storage) {
1553
            m_view = *m_storage;
1554
        }
1555
        else {
1556
            m_view = other.m_view;
1557
        }
1558
    }
1559
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1560
    {
1561
        m_storage = SCN_MOVE(other.m_storage);
1562
        if (m_storage) {
1563
            m_view = *m_storage;
1564
        }
1565
        else {
1566
            m_view = other.m_view;
1567
        }
1568
        return *this;
1569
    }
1570
1571
5.92k
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1571
3.79k
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1571
2.13k
    ~contiguous_range_factory() = default;
1572
1573
    template <typename Range,
1574
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1575
    void assign(Range&& range)
1576
1.64k
    {
1577
1.64k
        emplace_range(SCN_FWD(range));
1578
1.64k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1576
848
    {
1577
848
        emplace_range(SCN_FWD(range));
1578
848
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1576
798
    {
1577
798
        emplace_range(SCN_FWD(range));
1578
798
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, (void*)0>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, (void*)0>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
1579
1580
    string_view_type view() const
1581
5.48k
    {
1582
5.48k
        return m_view;
1583
5.48k
    }
scn::v3::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1581
3.53k
    {
1582
3.53k
        return m_view;
1583
3.53k
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1581
1.95k
    {
1582
1.95k
        return m_view;
1583
1.95k
    }
1584
1585
    constexpr bool stores_allocated_string() const
1586
768
    {
1587
768
        return m_storage.has_value();
1588
768
    }
scn::v3::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1586
636
    {
1587
636
        return m_storage.has_value();
1588
636
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1586
132
    {
1587
132
        return m_storage.has_value();
1588
132
    }
1589
1590
    string_type& get_allocated_string() &
1591
384
    {
1592
384
        SCN_EXPECT(stores_allocated_string());
1593
384
        return *m_storage;
1594
384
    }
scn::v3::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1591
318
    {
1592
318
        SCN_EXPECT(stores_allocated_string());
1593
318
        return *m_storage;
1594
318
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1591
66
    {
1592
66
        SCN_EXPECT(stores_allocated_string());
1593
66
        return *m_storage;
1594
66
    }
1595
    const string_type& get_allocated_string() const&
1596
    {
1597
        SCN_EXPECT(stores_allocated_string());
1598
        return *m_storage;
1599
    }
1600
    string_type&& get_allocated_string() &&
1601
    {
1602
        SCN_EXPECT(stores_allocated_string());
1603
        return *m_storage;
1604
    }
1605
1606
    string_type& make_into_allocated_string()
1607
0
    {
1608
0
        if (stores_allocated_string()) {
1609
0
            return get_allocated_string();
1610
0
        }
1611
1612
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1613
0
        m_view = string_view_type{str.data(), str.size()};
1614
0
        return str;
1615
0
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1616
1617
private:
1618
    template <typename Range>
1619
    void emplace_range(Range&& range)
1620
3.45k
    {
1621
3.45k
        using value_t = ranges::range_value_t<Range>;
1622
1623
3.45k
        if constexpr (ranges::borrowed_range<Range> &&
1624
3.45k
                      ranges::contiguous_range<Range> &&
1625
3.45k
                      ranges::sized_range<Range>) {
1626
1.80k
            m_storage.reset();
1627
1.80k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.80k
        }
1629
1.80k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.80k
                                          std::basic_string<CharT>>) {
1631
1.80k
            m_storage.emplace(SCN_FWD(range));
1632
0
            m_view = string_view_type{*m_storage};
1633
0
        }
1634
1.80k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.80k
                                          typename detail::basic_scan_buffer<
1636
1.80k
                                              value_t>::forward_iterator> &&
1637
1.80k
                           ranges::common_range<Range>) {
1638
1.80k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.80k
            auto end_seg = range.end().contiguous_segment();
1640
1.80k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.80k
                             detail::to_address(end_seg.end()))) {
1642
0
                auto& str = m_storage.emplace();
1643
0
                str.reserve(range.end().position() - range.begin().position());
1644
0
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
0
                m_view = string_view_type{str};
1646
0
                return;
1647
0
            }
1648
1649
0
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
0
                                                            end_seg.data());
1651
0
            m_storage.reset();
1652
0
        }
1653
1.80k
        else {
1654
1.80k
            auto& str = m_storage.emplace();
1655
1.80k
            if constexpr (ranges::sized_range<Range>) {
1656
1.80k
                str.reserve(range.size());
1657
1.80k
            }
1658
1.80k
            if constexpr (ranges::common_range<Range>) {
1659
1.80k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.80k
                          std::back_inserter(str));
1661
1.80k
            }
1662
1.80k
            else {
1663
1.80k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.80k
                     ++it) {
1665
1.80k
                    str.push_back(*it);
1666
1.80k
                }
1667
1.80k
            }
1668
1.80k
            m_view = string_view_type{str};
1669
1.80k
        }
1670
3.45k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1620
1.51k
    {
1621
1.51k
        using value_t = ranges::range_value_t<Range>;
1622
1623
1.51k
        if constexpr (ranges::borrowed_range<Range> &&
1624
1.51k
                      ranges::contiguous_range<Range> &&
1625
1.51k
                      ranges::sized_range<Range>) {
1626
1.51k
            m_storage.reset();
1627
1.51k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.51k
        }
1629
1.51k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.51k
                                          std::basic_string<CharT>>) {
1631
1.51k
            m_storage.emplace(SCN_FWD(range));
1632
1.51k
            m_view = string_view_type{*m_storage};
1633
1.51k
        }
1634
1.51k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.51k
                                          typename detail::basic_scan_buffer<
1636
1.51k
                                              value_t>::forward_iterator> &&
1637
1.51k
                           ranges::common_range<Range>) {
1638
1.51k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.51k
            auto end_seg = range.end().contiguous_segment();
1640
1.51k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.51k
                             detail::to_address(end_seg.end()))) {
1642
1.51k
                auto& str = m_storage.emplace();
1643
1.51k
                str.reserve(range.end().position() - range.begin().position());
1644
1.51k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.51k
                m_view = string_view_type{str};
1646
1.51k
                return;
1647
1.51k
            }
1648
1649
1.51k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.51k
                                                            end_seg.data());
1651
1.51k
            m_storage.reset();
1652
1.51k
        }
1653
1.51k
        else {
1654
1.51k
            auto& str = m_storage.emplace();
1655
1.51k
            if constexpr (ranges::sized_range<Range>) {
1656
1.51k
                str.reserve(range.size());
1657
1.51k
            }
1658
1.51k
            if constexpr (ranges::common_range<Range>) {
1659
1.51k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.51k
                          std::back_inserter(str));
1661
1.51k
            }
1662
1.51k
            else {
1663
1.51k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.51k
                     ++it) {
1665
1.51k
                    str.push_back(*it);
1666
1.51k
                }
1667
1.51k
            }
1668
1.51k
            m_view = string_view_type{str};
1669
1.51k
        }
1670
1.51k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1620
848
    {
1621
848
        using value_t = ranges::range_value_t<Range>;
1622
1623
848
        if constexpr (ranges::borrowed_range<Range> &&
1624
848
                      ranges::contiguous_range<Range> &&
1625
848
                      ranges::sized_range<Range>) {
1626
848
            m_storage.reset();
1627
848
            m_view = string_view_type{ranges::data(range), range.size()};
1628
848
        }
1629
848
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
848
                                          std::basic_string<CharT>>) {
1631
848
            m_storage.emplace(SCN_FWD(range));
1632
848
            m_view = string_view_type{*m_storage};
1633
848
        }
1634
848
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
848
                                          typename detail::basic_scan_buffer<
1636
848
                                              value_t>::forward_iterator> &&
1637
848
                           ranges::common_range<Range>) {
1638
848
            auto beg_seg = range.begin().contiguous_segment();
1639
848
            auto end_seg = range.end().contiguous_segment();
1640
848
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
848
                             detail::to_address(end_seg.end()))) {
1642
848
                auto& str = m_storage.emplace();
1643
848
                str.reserve(range.end().position() - range.begin().position());
1644
848
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
848
                m_view = string_view_type{str};
1646
848
                return;
1647
848
            }
1648
1649
848
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
848
                                                            end_seg.data());
1651
848
            m_storage.reset();
1652
848
        }
1653
848
        else {
1654
848
            auto& str = m_storage.emplace();
1655
848
            if constexpr (ranges::sized_range<Range>) {
1656
848
                str.reserve(range.size());
1657
848
            }
1658
848
            if constexpr (ranges::common_range<Range>) {
1659
848
                std::copy(ranges::begin(range), ranges::end(range),
1660
848
                          std::back_inserter(str));
1661
848
            }
1662
848
            else {
1663
848
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
848
                     ++it) {
1665
848
                    str.push_back(*it);
1666
848
                }
1667
848
            }
1668
848
            m_view = string_view_type{str};
1669
848
        }
1670
848
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1620
290
    {
1621
290
        using value_t = ranges::range_value_t<Range>;
1622
1623
290
        if constexpr (ranges::borrowed_range<Range> &&
1624
290
                      ranges::contiguous_range<Range> &&
1625
290
                      ranges::sized_range<Range>) {
1626
290
            m_storage.reset();
1627
290
            m_view = string_view_type{ranges::data(range), range.size()};
1628
290
        }
1629
290
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
290
                                          std::basic_string<CharT>>) {
1631
290
            m_storage.emplace(SCN_FWD(range));
1632
290
            m_view = string_view_type{*m_storage};
1633
290
        }
1634
290
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
290
                                          typename detail::basic_scan_buffer<
1636
290
                                              value_t>::forward_iterator> &&
1637
290
                           ranges::common_range<Range>) {
1638
290
            auto beg_seg = range.begin().contiguous_segment();
1639
290
            auto end_seg = range.end().contiguous_segment();
1640
290
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
290
                             detail::to_address(end_seg.end()))) {
1642
290
                auto& str = m_storage.emplace();
1643
290
                str.reserve(range.end().position() - range.begin().position());
1644
290
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
290
                m_view = string_view_type{str};
1646
290
                return;
1647
290
            }
1648
1649
290
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
290
                                                            end_seg.data());
1651
290
            m_storage.reset();
1652
290
        }
1653
290
        else {
1654
290
            auto& str = m_storage.emplace();
1655
290
            if constexpr (ranges::sized_range<Range>) {
1656
290
                str.reserve(range.size());
1657
290
            }
1658
290
            if constexpr (ranges::common_range<Range>) {
1659
290
                std::copy(ranges::begin(range), ranges::end(range),
1660
290
                          std::back_inserter(str));
1661
290
            }
1662
290
            else {
1663
290
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
290
                     ++it) {
1665
290
                    str.push_back(*it);
1666
290
                }
1667
290
            }
1668
290
            m_view = string_view_type{str};
1669
290
        }
1670
290
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1620
798
    {
1621
798
        using value_t = ranges::range_value_t<Range>;
1622
1623
798
        if constexpr (ranges::borrowed_range<Range> &&
1624
798
                      ranges::contiguous_range<Range> &&
1625
798
                      ranges::sized_range<Range>) {
1626
798
            m_storage.reset();
1627
798
            m_view = string_view_type{ranges::data(range), range.size()};
1628
798
        }
1629
798
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
798
                                          std::basic_string<CharT>>) {
1631
798
            m_storage.emplace(SCN_FWD(range));
1632
798
            m_view = string_view_type{*m_storage};
1633
798
        }
1634
798
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
798
                                          typename detail::basic_scan_buffer<
1636
798
                                              value_t>::forward_iterator> &&
1637
798
                           ranges::common_range<Range>) {
1638
798
            auto beg_seg = range.begin().contiguous_segment();
1639
798
            auto end_seg = range.end().contiguous_segment();
1640
798
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
798
                             detail::to_address(end_seg.end()))) {
1642
798
                auto& str = m_storage.emplace();
1643
798
                str.reserve(range.end().position() - range.begin().position());
1644
798
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
798
                m_view = string_view_type{str};
1646
798
                return;
1647
798
            }
1648
1649
798
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
798
                                                            end_seg.data());
1651
798
            m_storage.reset();
1652
798
        }
1653
798
        else {
1654
798
            auto& str = m_storage.emplace();
1655
798
            if constexpr (ranges::sized_range<Range>) {
1656
798
                str.reserve(range.size());
1657
798
            }
1658
798
            if constexpr (ranges::common_range<Range>) {
1659
798
                std::copy(ranges::begin(range), ranges::end(range),
1660
798
                          std::back_inserter(str));
1661
798
            }
1662
798
            else {
1663
798
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
798
                     ++it) {
1665
798
                    str.push_back(*it);
1666
798
                }
1667
798
            }
1668
798
            m_view = string_view_type{str};
1669
798
        }
1670
798
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
1671
1672
    std::optional<string_type> m_storage{std::nullopt};
1673
    string_view_type m_view{};
1674
};
1675
1676
template <typename Range>
1677
contiguous_range_factory(Range)
1678
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1679
1680
template <typename Range>
1681
auto make_contiguous_buffer(Range&& range)
1682
43.7k
{
1683
43.7k
    if constexpr (ranges::borrowed_range<Range> &&
1684
43.7k
                  ranges::contiguous_range<Range> &&
1685
43.7k
                  ranges::sized_range<Range>) {
1686
41.9k
        return string_view_wrapper{SCN_FWD(range)};
1687
41.9k
    }
1688
1.80k
    else {
1689
1.80k
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.80k
    }
1691
43.7k
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1682
1.51k
{
1683
1.51k
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.51k
                  ranges::contiguous_range<Range> &&
1685
1.51k
                  ranges::sized_range<Range>) {
1686
1.51k
        return string_view_wrapper{SCN_FWD(range)};
1687
1.51k
    }
1688
1.51k
    else {
1689
1.51k
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.51k
    }
1691
1.51k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1682
12.9k
{
1683
12.9k
    if constexpr (ranges::borrowed_range<Range> &&
1684
12.9k
                  ranges::contiguous_range<Range> &&
1685
12.9k
                  ranges::sized_range<Range>) {
1686
12.9k
        return string_view_wrapper{SCN_FWD(range)};
1687
12.9k
    }
1688
12.9k
    else {
1689
12.9k
        return contiguous_range_factory{SCN_FWD(range)};
1690
12.9k
    }
1691
12.9k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1682
14.9k
{
1683
14.9k
    if constexpr (ranges::borrowed_range<Range> &&
1684
14.9k
                  ranges::contiguous_range<Range> &&
1685
14.9k
                  ranges::sized_range<Range>) {
1686
14.9k
        return string_view_wrapper{SCN_FWD(range)};
1687
14.9k
    }
1688
14.9k
    else {
1689
14.9k
        return contiguous_range_factory{SCN_FWD(range)};
1690
14.9k
    }
1691
14.9k
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1682
290
{
1683
290
    if constexpr (ranges::borrowed_range<Range> &&
1684
290
                  ranges::contiguous_range<Range> &&
1685
290
                  ranges::sized_range<Range>) {
1686
290
        return string_view_wrapper{SCN_FWD(range)};
1687
290
    }
1688
290
    else {
1689
290
        return contiguous_range_factory{SCN_FWD(range)};
1690
290
    }
1691
290
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1682
8.55k
{
1683
8.55k
    if constexpr (ranges::borrowed_range<Range> &&
1684
8.55k
                  ranges::contiguous_range<Range> &&
1685
8.55k
                  ranges::sized_range<Range>) {
1686
8.55k
        return string_view_wrapper{SCN_FWD(range)};
1687
8.55k
    }
1688
8.55k
    else {
1689
8.55k
        return contiguous_range_factory{SCN_FWD(range)};
1690
8.55k
    }
1691
8.55k
}
auto scn::v3::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1682
5.51k
{
1683
5.51k
    if constexpr (ranges::borrowed_range<Range> &&
1684
5.51k
                  ranges::contiguous_range<Range> &&
1685
5.51k
                  ranges::sized_range<Range>) {
1686
5.51k
        return string_view_wrapper{SCN_FWD(range)};
1687
5.51k
    }
1688
5.51k
    else {
1689
5.51k
        return contiguous_range_factory{SCN_FWD(range)};
1690
5.51k
    }
1691
5.51k
}
1692
}  // namespace impl
1693
1694
/////////////////////////////////////////////////////////////////
1695
// locale stuff
1696
/////////////////////////////////////////////////////////////////
1697
1698
#if !SCN_DISABLE_LOCALE
1699
1700
namespace detail {
1701
extern template locale_ref::locale_ref(const std::locale&);
1702
extern template auto locale_ref::get() const -> std::locale;
1703
}  // namespace detail
1704
1705
namespace impl {
1706
template <typename Facet>
1707
const Facet& get_facet(detail::locale_ref loc)
1708
{
1709
    auto stdloc = loc.get<std::locale>();
1710
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1711
    return std::use_facet<Facet>(stdloc);
1712
}
1713
1714
template <typename Facet>
1715
const Facet& get_or_add_facet(std::locale& stdloc)
1716
136
{
1717
136
    if (std::has_facet<Facet>(stdloc)) {
1718
136
        return std::use_facet<Facet>(stdloc);
1719
136
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
136
}
std::__1::numpunct<char> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1716
72
{
1717
72
    if (std::has_facet<Facet>(stdloc)) {
1718
72
        return std::use_facet<Facet>(stdloc);
1719
72
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
72
}
std::__1::numpunct<wchar_t> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1716
64
{
1717
64
    if (std::has_facet<Facet>(stdloc)) {
1718
64
        return std::use_facet<Facet>(stdloc);
1719
64
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
64
}
1723
1724
class clocale_restorer {
1725
public:
1726
    clocale_restorer(int cat) : m_category(cat)
1727
0
    {
1728
0
        const auto loc = std::setlocale(cat, nullptr);
1729
0
        std::strcpy(m_locbuf, loc);
1730
0
    }
1731
    ~clocale_restorer()
1732
0
    {
1733
        // Restore locale to what it was before
1734
0
        std::setlocale(m_category, m_locbuf);
1735
0
    }
1736
1737
    clocale_restorer(const clocale_restorer&) = delete;
1738
    clocale_restorer(clocale_restorer&&) = delete;
1739
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1740
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1741
1742
private:
1743
    // For whatever reason, this cannot be stored in the heap if
1744
    // setlocale hasn't been called before, or msan errors with
1745
    // 'use-of-unitialized-value' when resetting the locale
1746
    // back. POSIX specifies that the content of loc may not be
1747
    // static, so we need to save it ourselves
1748
    char m_locbuf[64] = {0};
1749
1750
    int m_category;
1751
};
1752
1753
class set_clocale_classic_guard {
1754
public:
1755
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1756
0
    {
1757
0
        std::setlocale(cat, "C");
1758
0
    }
1759
1760
private:
1761
    clocale_restorer m_restorer;
1762
};
1763
}  // namespace impl
1764
1765
namespace impl {
1766
struct classic_with_thsep_tag {};
1767
1768
template <typename CharT>
1769
struct localized_number_formatting_options {
1770
2.06k
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1770
1.14k
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1770
920
    localized_number_formatting_options() = default;
1771
1772
    localized_number_formatting_options(classic_with_thsep_tag)
1773
0
    {
1774
0
        grouping = "\3";
1775
0
        thousands_sep = CharT{','};
1776
0
    }
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
1777
1778
    localized_number_formatting_options(detail::locale_ref loc)
1779
106
    {
1780
106
        auto stdloc = loc.get<std::locale>();
1781
106
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
106
        grouping = numpunct.grouping();
1783
106
        thousands_sep =
1784
106
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
106
        decimal_point = numpunct.decimal_point();
1786
106
    }
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
54
    {
1780
54
        auto stdloc = loc.get<std::locale>();
1781
54
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
54
        grouping = numpunct.grouping();
1783
54
        thousands_sep =
1784
54
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
54
        decimal_point = numpunct.decimal_point();
1786
54
    }
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
52
    {
1780
52
        auto stdloc = loc.get<std::locale>();
1781
52
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
52
        grouping = numpunct.grouping();
1783
52
        thousands_sep =
1784
52
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
52
        decimal_point = numpunct.decimal_point();
1786
52
    }
1787
1788
    std::string grouping{};
1789
    CharT thousands_sep{0};
1790
    CharT decimal_point{CharT{'.'}};
1791
};
1792
}  // namespace impl
1793
1794
#else
1795
1796
namespace impl {
1797
struct set_clocale_classic_guard {
1798
    set_clocale_classic_guard(int) {}
1799
};
1800
1801
struct classic_with_thsep_tag {};
1802
1803
template <typename CharT>
1804
struct localized_number_formatting_options {
1805
    localized_number_formatting_options() = default;
1806
1807
    localized_number_formatting_options(classic_with_thsep_tag)
1808
    {
1809
        grouping = "\3";
1810
        thousands_sep = CharT{','};
1811
    }
1812
1813
    std::string grouping{};
1814
    CharT thousands_sep{0};
1815
    CharT decimal_point{CharT{'.'}};
1816
};
1817
}  // namespace impl
1818
1819
#endif  // !SCN_DISABLE_LOCALE
1820
1821
/////////////////////////////////////////////////////////////////
1822
// Range reading algorithms
1823
/////////////////////////////////////////////////////////////////
1824
1825
namespace impl {
1826
1827
std::string_view::iterator find_classic_space_narrow_fast(
1828
    std::string_view source);
1829
1830
std::string_view::iterator find_classic_nonspace_narrow_fast(
1831
    std::string_view source);
1832
1833
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1834
    std::string_view source);
1835
1836
template <typename Range>
1837
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1838
1.80k
{
1839
1.80k
    return ranges::next(range.begin(), range.end());
1840
1.80k
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
848
{
1839
848
    return ranges::next(range.begin(), range.end());
1840
848
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
102
{
1839
102
    return ranges::next(range.begin(), range.end());
1840
102
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
798
{
1839
798
    return ranges::next(range.begin(), range.end());
1840
798
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
60
{
1839
60
    return ranges::next(range.begin(), range.end());
1840
60
}
1841
1842
template <typename Range>
1843
auto read_code_unit(Range range)
1844
    -> eof_expected<ranges::const_iterator_t<Range>>
1845
14.4k
{
1846
14.4k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
14.4k
    return ranges::next(range.begin());
1851
14.4k
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
1.86k
{
1846
1.86k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
1.86k
    return ranges::next(range.begin());
1851
1.86k
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
34
{
1846
34
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
34
    return ranges::next(range.begin());
1851
34
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
6.04k
{
1846
6.04k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
6.04k
    return ranges::next(range.begin());
1851
6.04k
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
832
{
1846
832
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
832
    return ranges::next(range.begin());
1851
832
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
30
{
1846
30
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
30
    return ranges::next(range.begin());
1851
30
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
5.64k
{
1846
5.64k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
5.64k
    return ranges::next(range.begin());
1851
5.64k
}
1852
1853
template <typename Range>
1854
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1855
    -> eof_expected<ranges::const_iterator_t<Range>>
1856
30.8k
{
1857
30.8k
    SCN_EXPECT(count >= 0);
1858
1859
30.8k
    if constexpr (ranges::sized_range<Range>) {
1860
3.77k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
27.0k
        if (sz < count) {
1862
556
            return unexpected(eof_error::eof);
1863
556
        }
1864
1865
26.5k
        return ranges::next(range.begin(), count);
1866
27.0k
    }
1867
3.77k
    else {
1868
3.77k
        auto it = range.begin();
1869
3.77k
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
14.4k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
11.2k
            if (it == range.end()) {
1875
524
                return unexpected(eof_error::eof);
1876
524
            }
1877
11.2k
        }
1878
1879
3.25k
        return it;
1880
3.77k
    }
1881
30.8k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
22.1k
{
1857
22.1k
    SCN_EXPECT(count >= 0);
1858
1859
22.1k
    if constexpr (ranges::sized_range<Range>) {
1860
22.1k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
22.1k
        if (sz < count) {
1862
426
            return unexpected(eof_error::eof);
1863
426
        }
1864
1865
21.7k
        return ranges::next(range.begin(), count);
1866
22.1k
    }
1867
22.1k
    else {
1868
22.1k
        auto it = range.begin();
1869
22.1k
        if (guaranteed_minimum_size(range) >= count) {
1870
22.1k
            return ranges::next(it, count);
1871
22.1k
        }
1872
1873
22.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
22.1k
            if (it == range.end()) {
1875
22.1k
                return unexpected(eof_error::eof);
1876
22.1k
            }
1877
22.1k
        }
1878
1879
22.1k
        return it;
1880
22.1k
    }
1881
22.1k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
2.18k
{
1857
2.18k
    SCN_EXPECT(count >= 0);
1858
1859
2.18k
    if constexpr (ranges::sized_range<Range>) {
1860
2.18k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
2.18k
        if (sz < count) {
1862
2.18k
            return unexpected(eof_error::eof);
1863
2.18k
        }
1864
1865
2.18k
        return ranges::next(range.begin(), count);
1866
2.18k
    }
1867
2.18k
    else {
1868
2.18k
        auto it = range.begin();
1869
2.18k
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
7.66k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
5.67k
            if (it == range.end()) {
1875
192
                return unexpected(eof_error::eof);
1876
192
            }
1877
5.67k
        }
1878
1879
1.99k
        return it;
1880
2.18k
    }
1881
2.18k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
4.89k
{
1857
4.89k
    SCN_EXPECT(count >= 0);
1858
1859
4.89k
    if constexpr (ranges::sized_range<Range>) {
1860
4.89k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
4.89k
        if (sz < count) {
1862
130
            return unexpected(eof_error::eof);
1863
130
        }
1864
1865
4.76k
        return ranges::next(range.begin(), count);
1866
4.89k
    }
1867
4.89k
    else {
1868
4.89k
        auto it = range.begin();
1869
4.89k
        if (guaranteed_minimum_size(range) >= count) {
1870
4.89k
            return ranges::next(it, count);
1871
4.89k
        }
1872
1873
4.89k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
4.89k
            if (it == range.end()) {
1875
4.89k
                return unexpected(eof_error::eof);
1876
4.89k
            }
1877
4.89k
        }
1878
1879
4.89k
        return it;
1880
4.89k
    }
1881
4.89k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
520
{
1857
520
    SCN_EXPECT(count >= 0);
1858
1859
520
    if constexpr (ranges::sized_range<Range>) {
1860
520
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
520
        if (sz < count) {
1862
520
            return unexpected(eof_error::eof);
1863
520
        }
1864
1865
520
        return ranges::next(range.begin(), count);
1866
520
    }
1867
520
    else {
1868
520
        auto it = range.begin();
1869
520
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.69k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.25k
            if (it == range.end()) {
1875
84
                return unexpected(eof_error::eof);
1876
84
            }
1877
1.25k
        }
1878
1879
436
        return it;
1880
520
    }
1881
520
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1856
204
{
1857
204
    SCN_EXPECT(count >= 0);
1858
1859
204
    if constexpr (ranges::sized_range<Range>) {
1860
204
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
204
        if (sz < count) {
1862
204
            return unexpected(eof_error::eof);
1863
204
        }
1864
1865
204
        return ranges::next(range.begin(), count);
1866
204
    }
1867
204
    else {
1868
204
        auto it = range.begin();
1869
204
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
812
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
668
            if (it == range.end()) {
1875
60
                return unexpected(eof_error::eof);
1876
60
            }
1877
668
        }
1878
1879
144
        return it;
1880
204
    }
1881
204
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
612
{
1857
612
    SCN_EXPECT(count >= 0);
1858
1859
612
    if constexpr (ranges::sized_range<Range>) {
1860
612
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
612
        if (sz < count) {
1862
612
            return unexpected(eof_error::eof);
1863
612
        }
1864
1865
612
        return ranges::next(range.begin(), count);
1866
612
    }
1867
612
    else {
1868
612
        auto it = range.begin();
1869
612
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
3.04k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
2.55k
            if (it == range.end()) {
1875
124
                return unexpected(eof_error::eof);
1876
124
            }
1877
2.55k
        }
1878
1879
488
        return it;
1880
612
    }
1881
612
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
256
{
1857
256
    SCN_EXPECT(count >= 0);
1858
1859
256
    if constexpr (ranges::sized_range<Range>) {
1860
256
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
256
        if (sz < count) {
1862
256
            return unexpected(eof_error::eof);
1863
256
        }
1864
1865
256
        return ranges::next(range.begin(), count);
1866
256
    }
1867
256
    else {
1868
256
        auto it = range.begin();
1869
256
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.26k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.07k
            if (it == range.end()) {
1875
64
                return unexpected(eof_error::eof);
1876
64
            }
1877
1.07k
        }
1878
1879
192
        return it;
1880
256
    }
1881
256
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
1882
1883
template <typename Iterator, typename CharT>
1884
struct read_code_point_into_result {
1885
    Iterator iterator;
1886
    std::basic_string<CharT> codepoint;
1887
1888
    bool is_valid() const
1889
476k
    {
1890
476k
        return !codepoint.empty();
1891
476k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
1889
49.6k
    {
1890
49.6k
        return !codepoint.empty();
1891
49.6k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
scn::v3::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
1889
364k
    {
1890
364k
        return !codepoint.empty();
1891
364k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
1889
11.2k
    {
1890
11.2k
        return !codepoint.empty();
1891
11.2k
    }
scn::v3::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
1889
47.8k
    {
1890
47.8k
        return !codepoint.empty();
1891
47.8k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
1889
2.90k
    {
1890
2.90k
        return !codepoint.empty();
1891
2.90k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
1889
730
    {
1890
730
        return !codepoint.empty();
1891
730
    }
1892
};
1893
1894
template <typename Range>
1895
auto read_code_point_into(Range range)
1896
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
1897
                                   detail::char_t<Range>>
1898
476k
{
1899
476k
    SCN_EXPECT(!is_range_eof(range));
1900
476k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
476k
    auto it = range.begin();
1903
476k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
476k
    if (SCN_UNLIKELY(len == 0)) {
1906
3.94k
        ++it;
1907
3.94k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
3.94k
        return {it, {}};
1909
3.94k
    }
1910
1911
472k
    if (len == 1) {
1912
425k
        ++it;
1913
425k
        return {it, string_type(1, *range.begin())};
1914
425k
    }
1915
1916
47.8k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
47.8k
    return {it, string_type{range.begin(), it}};
1918
472k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
49.6k
{
1899
49.6k
    SCN_EXPECT(!is_range_eof(range));
1900
49.6k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
49.6k
    auto it = range.begin();
1903
49.6k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
49.6k
    if (SCN_UNLIKELY(len == 0)) {
1906
2.32k
        ++it;
1907
2.32k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
2.32k
        return {it, {}};
1909
2.32k
    }
1910
1911
47.3k
    if (len == 1) {
1912
42.1k
        ++it;
1913
42.1k
        return {it, string_type(1, *range.begin())};
1914
42.1k
    }
1915
1916
5.16k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
5.16k
    return {it, string_type{range.begin(), it}};
1918
47.3k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
364k
{
1899
364k
    SCN_EXPECT(!is_range_eof(range));
1900
364k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
364k
    auto it = range.begin();
1903
364k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
364k
    if (SCN_UNLIKELY(len == 0)) {
1906
1.62k
        ++it;
1907
1.62k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
1.62k
        return {it, {}};
1909
1.62k
    }
1910
1911
362k
    if (len == 1) {
1912
320k
        ++it;
1913
320k
        return {it, string_type(1, *range.begin())};
1914
320k
    }
1915
1916
42.3k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
42.3k
    return {it, string_type{range.begin(), it}};
1918
362k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
47.8k
{
1899
47.8k
    SCN_EXPECT(!is_range_eof(range));
1900
47.8k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
47.8k
    auto it = range.begin();
1903
47.8k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
47.8k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
47.8k
    if (len == 1) {
1912
47.8k
        ++it;
1913
47.8k
        return {it, string_type(1, *range.begin())};
1914
47.8k
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
47.8k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
11.2k
{
1899
11.2k
    SCN_EXPECT(!is_range_eof(range));
1900
11.2k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
11.2k
    auto it = range.begin();
1903
11.2k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
11.2k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
11.2k
    if (len == 1) {
1912
11.2k
        ++it;
1913
11.2k
        return {it, string_type(1, *range.begin())};
1914
11.2k
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
11.2k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
2.90k
{
1899
2.90k
    SCN_EXPECT(!is_range_eof(range));
1900
2.90k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
2.90k
    auto it = range.begin();
1903
2.90k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
2.90k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
2.90k
    if (len == 1) {
1912
2.62k
        ++it;
1913
2.62k
        return {it, string_type(1, *range.begin())};
1914
2.62k
    }
1915
1916
278
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
278
    return {it, string_type{range.begin(), it}};
1918
2.90k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
730
{
1899
730
    SCN_EXPECT(!is_range_eof(range));
1900
730
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
730
    auto it = range.begin();
1903
730
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
730
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
730
    if (len == 1) {
1912
730
        ++it;
1913
730
        return {it, string_type(1, *range.begin())};
1914
730
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
730
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
1919
1920
template <typename Range>
1921
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
1922
{
1923
    return read_code_point_into(range).iterator;
1924
}
1925
1926
template <typename Range>
1927
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
1928
    -> eof_expected<ranges::const_iterator_t<Range>>
1929
{
1930
    SCN_EXPECT(count >= 0);
1931
1932
    if (count > 0) {
1933
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1934
            return unexpected(e);
1935
        }
1936
    }
1937
1938
    auto it = range.begin();
1939
    for (std::ptrdiff_t i = 0; i < count; ++i) {
1940
        auto rng = ranges::subrange{it, range.end()};
1941
1942
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
1943
            return unexpected(e);
1944
        }
1945
1946
        it = read_code_point(rng);
1947
    }
1948
1949
    return it;
1950
}
1951
1952
template <typename Range>
1953
auto read_until_code_unit(Range range,
1954
                          function_ref<bool(detail::char_t<Range>)> pred)
1955
    -> ranges::const_iterator_t<Range>
1956
5.43k
{
1957
5.43k
    if constexpr (ranges::common_range<Range>) {
1958
2.88k
        return std::find_if(range.begin(), range.end(), pred);
1959
2.88k
    }
1960
2.88k
    else {
1961
2.88k
        auto first = range.begin();
1962
11.6k
        for (; first != range.end(); ++first) {
1963
11.3k
            if (pred(*first)) {
1964
2.50k
                return first;
1965
2.50k
            }
1966
11.3k
        }
1967
372
        return first;
1968
2.88k
    }
1969
5.43k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
1.06k
{
1957
1.06k
    if constexpr (ranges::common_range<Range>) {
1958
1.06k
        return std::find_if(range.begin(), range.end(), pred);
1959
1.06k
    }
1960
1.06k
    else {
1961
1.06k
        auto first = range.begin();
1962
1.06k
        for (; first != range.end(); ++first) {
1963
1.06k
            if (pred(*first)) {
1964
1.06k
                return first;
1965
1.06k
            }
1966
1.06k
        }
1967
0
        return first;
1968
1.06k
    }
1969
1.06k
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
2.13k
{
1957
2.13k
    if constexpr (ranges::common_range<Range>) {
1958
2.13k
        return std::find_if(range.begin(), range.end(), pred);
1959
2.13k
    }
1960
2.13k
    else {
1961
2.13k
        auto first = range.begin();
1962
2.13k
        for (; first != range.end(); ++first) {
1963
2.13k
            if (pred(*first)) {
1964
2.13k
                return first;
1965
2.13k
            }
1966
2.13k
        }
1967
2.13k
        return first;
1968
2.13k
    }
1969
2.13k
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
472
{
1957
472
    if constexpr (ranges::common_range<Range>) {
1958
472
        return std::find_if(range.begin(), range.end(), pred);
1959
472
    }
1960
472
    else {
1961
472
        auto first = range.begin();
1962
8.42k
        for (; first != range.end(); ++first) {
1963
8.17k
            if (pred(*first)) {
1964
228
                return first;
1965
228
            }
1966
8.17k
        }
1967
244
        return first;
1968
472
    }
1969
472
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
474
{
1957
474
    if constexpr (ranges::common_range<Range>) {
1958
474
        return std::find_if(range.begin(), range.end(), pred);
1959
474
    }
1960
474
    else {
1961
474
        auto first = range.begin();
1962
474
        for (; first != range.end(); ++first) {
1963
474
            if (pred(*first)) {
1964
474
                return first;
1965
474
            }
1966
474
        }
1967
0
        return first;
1968
474
    }
1969
474
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
418
{
1957
418
    if constexpr (ranges::common_range<Range>) {
1958
418
        return std::find_if(range.begin(), range.end(), pred);
1959
418
    }
1960
418
    else {
1961
418
        auto first = range.begin();
1962
418
        for (; first != range.end(); ++first) {
1963
418
            if (pred(*first)) {
1964
418
                return first;
1965
418
            }
1966
418
        }
1967
418
        return first;
1968
418
    }
1969
418
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
104
{
1957
104
    if constexpr (ranges::common_range<Range>) {
1958
104
        return std::find_if(range.begin(), range.end(), pred);
1959
104
    }
1960
104
    else {
1961
104
        auto first = range.begin();
1962
822
        for (; first != range.end(); ++first) {
1963
760
            if (pred(*first)) {
1964
42
                return first;
1965
42
            }
1966
760
        }
1967
62
        return first;
1968
104
    }
1969
104
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
512
{
1957
512
    if constexpr (ranges::common_range<Range>) {
1958
512
        return std::find_if(range.begin(), range.end(), pred);
1959
512
    }
1960
512
    else {
1961
512
        auto first = range.begin();
1962
598
        for (; first != range.end(); ++first) {
1963
550
            if (pred(*first)) {
1964
464
                return first;
1965
464
            }
1966
550
        }
1967
48
        return first;
1968
512
    }
1969
512
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
256
{
1957
256
    if constexpr (ranges::common_range<Range>) {
1958
256
        return std::find_if(range.begin(), range.end(), pred);
1959
256
    }
1960
256
    else {
1961
256
        auto first = range.begin();
1962
316
        for (; first != range.end(); ++first) {
1963
298
            if (pred(*first)) {
1964
238
                return first;
1965
238
            }
1966
298
        }
1967
18
        return first;
1968
256
    }
1969
256
}
1970
1971
template <typename Range>
1972
auto read_while_code_unit(Range range,
1973
                          function_ref<bool(detail::char_t<Range>)> pred)
1974
    -> ranges::const_iterator_t<Range>
1975
4.80k
{
1976
4.80k
    return read_until_code_unit(range, std::not_fn(pred));
1977
4.80k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
1.06k
{
1976
1.06k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.06k
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
1.88k
{
1976
1.88k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.88k
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
238
{
1976
238
    return read_until_code_unit(range, std::not_fn(pred));
1977
238
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
474
{
1976
474
    return read_until_code_unit(range, std::not_fn(pred));
1977
474
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
340
{
1976
340
    return read_until_code_unit(range, std::not_fn(pred));
1977
340
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
44
{
1976
44
    return read_until_code_unit(range, std::not_fn(pred));
1977
44
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
512
{
1976
512
    return read_until_code_unit(range, std::not_fn(pred));
1977
512
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
256
{
1976
256
    return read_until_code_unit(range, std::not_fn(pred));
1977
256
}
1978
1979
template <typename Range>
1980
auto read_until1_code_unit(Range range,
1981
                           function_ref<bool(detail::char_t<Range>)> pred)
1982
    -> parse_expected<ranges::const_iterator_t<Range>>
1983
{
1984
    auto it = read_until_code_unit(range, pred);
1985
    if (it == range.begin()) {
1986
        return unexpected(parse_error::error);
1987
    }
1988
    return it;
1989
}
1990
1991
template <typename Range>
1992
auto read_while1_code_unit(Range range,
1993
                           function_ref<bool(detail::char_t<Range>)> pred)
1994
    -> parse_expected<ranges::const_iterator_t<Range>>
1995
1.56k
{
1996
1.56k
    auto it = read_while_code_unit(range, pred);
1997
1.56k
    if (it == range.begin()) {
1998
1.56k
        return unexpected(parse_error::error);
1999
1.56k
    }
2000
0
    return it;
2001
1.56k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
1.06k
{
1996
1.06k
    auto it = read_while_code_unit(range, pred);
1997
1.06k
    if (it == range.begin()) {
1998
1.06k
        return unexpected(parse_error::error);
1999
1.06k
    }
2000
0
    return it;
2001
1.06k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
26
{
1996
26
    auto it = read_while_code_unit(range, pred);
1997
26
    if (it == range.begin()) {
1998
26
        return unexpected(parse_error::error);
1999
26
    }
2000
0
    return it;
2001
26
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
474
{
1996
474
    auto it = read_while_code_unit(range, pred);
1997
474
    if (it == range.begin()) {
1998
474
        return unexpected(parse_error::error);
1999
474
    }
2000
0
    return it;
2001
474
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
6
{
1996
6
    auto it = read_while_code_unit(range, pred);
1997
6
    if (it == range.begin()) {
1998
6
        return unexpected(parse_error::error);
1999
6
    }
2000
0
    return it;
2001
6
}
2002
2003
template <typename Range, typename CodeUnits>
2004
auto read_until_code_units(Range range, const CodeUnits& needle)
2005
    -> ranges::const_iterator_t<Range>
2006
96
{
2007
96
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
96
    if constexpr (ranges::common_range<Range>) {
2010
54
        return std::search(range.begin(), range.end(), needle.begin(),
2011
54
                           needle.end());
2012
54
    }
2013
54
    else {
2014
54
        auto first = range.begin();
2015
198
        while (true) {
2016
198
            auto it = first;
2017
324
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
324
                if (needle_it == needle.end()) {
2019
36
                    return first;
2020
36
                }
2021
288
                if (it == range.end()) {
2022
18
                    return it;
2023
18
                }
2024
270
                if (*it != *needle_it) {
2025
144
                    break;
2026
144
                }
2027
270
            }
2028
144
            ++first;
2029
144
        }
2030
54
    }
2031
96
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2006
54
{
2007
54
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
54
    if constexpr (ranges::common_range<Range>) {
2010
54
        return std::search(range.begin(), range.end(), needle.begin(),
2011
54
                           needle.end());
2012
54
    }
2013
54
    else {
2014
54
        auto first = range.begin();
2015
198
        while (true) {
2016
198
            auto it = first;
2017
324
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
324
                if (needle_it == needle.end()) {
2019
36
                    return first;
2020
36
                }
2021
288
                if (it == range.end()) {
2022
18
                    return it;
2023
18
                }
2024
270
                if (*it != *needle_it) {
2025
144
                    break;
2026
144
                }
2027
270
            }
2028
144
            ++first;
2029
144
        }
2030
54
    }
2031
54
}
_ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2006
42
{
2007
42
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
42
    if constexpr (ranges::common_range<Range>) {
2010
42
        return std::search(range.begin(), range.end(), needle.begin(),
2011
42
                           needle.end());
2012
42
    }
2013
42
    else {
2014
42
        auto first = range.begin();
2015
42
        while (true) {
2016
42
            auto it = first;
2017
42
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
42
                if (needle_it == needle.end()) {
2019
42
                    return first;
2020
42
                }
2021
42
                if (it == range.end()) {
2022
42
                    return it;
2023
42
                }
2024
42
                if (*it != *needle_it) {
2025
42
                    break;
2026
42
                }
2027
42
            }
2028
42
            ++first;
2029
42
        }
2030
42
    }
2031
42
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2032
2033
template <typename Range, typename CodeUnits>
2034
auto read_while_code_units(Range range, const CodeUnits& needle)
2035
    -> ranges::const_iterator_t<Range>
2036
436
{
2037
436
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
436
    auto it = range.begin();
2040
520
    while (it != range.end()) {
2041
490
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
490
                                           needle.size());
2043
490
        if (!r) {
2044
88
            return it;
2045
88
        }
2046
402
        static_assert(
2047
402
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
402
        if (!std::equal(it, *r, needle.begin())) {
2049
318
            return it;
2050
318
        }
2051
84
        it = *r;
2052
84
    }
2053
30
    SCN_ENSURE(it == range.end());
2054
30
    return it;
2055
30
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2036
132
{
2037
132
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
132
    auto it = range.begin();
2040
168
    while (it != range.end()) {
2041
168
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
168
                                           needle.size());
2043
168
        if (!r) {
2044
6
            return it;
2045
6
        }
2046
162
        static_assert(
2047
162
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
162
        if (!std::equal(it, *r, needle.begin())) {
2049
126
            return it;
2050
126
        }
2051
36
        it = *r;
2052
36
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2036
100
{
2037
100
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
100
    auto it = range.begin();
2040
148
    while (it != range.end()) {
2041
118
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
118
                                           needle.size());
2043
118
        if (!r) {
2044
22
            return it;
2045
22
        }
2046
96
        static_assert(
2047
96
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
96
        if (!std::equal(it, *r, needle.begin())) {
2049
48
            return it;
2050
48
        }
2051
48
        it = *r;
2052
48
    }
2053
30
    SCN_ENSURE(it == range.end());
2054
30
    return it;
2055
30
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2036
204
{
2037
204
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
204
    auto it = range.begin();
2040
204
    while (it != range.end()) {
2041
204
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
204
                                           needle.size());
2043
204
        if (!r) {
2044
60
            return it;
2045
60
        }
2046
144
        static_assert(
2047
144
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
144
        if (!std::equal(it, *r, needle.begin())) {
2049
144
            return it;
2050
144
        }
2051
0
        it = *r;
2052
0
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2056
2057
template <typename Range>
2058
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2059
    -> ranges::const_iterator_t<Range>
2060
23.4k
{
2061
23.4k
    auto it = range.begin();
2062
481k
    while (it != range.end()) {
2063
476k
        const auto val =
2064
476k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
476k
        if (SCN_LIKELY(val.is_valid())) {
2066
472k
            const auto cp = detail::decode_code_point_exhaustive(
2067
472k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
472k
            if (pred(cp)) {
2069
18.9k
                return it;
2070
18.9k
            }
2071
472k
        }
2072
458k
        it = val.iterator;
2073
458k
    }
2074
2075
4.55k
    return it;
2076
23.4k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
748
{
2061
748
    auto it = range.begin();
2062
39.6k
    while (it != range.end()) {
2063
39.4k
        const auto val =
2064
39.4k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
39.4k
        if (SCN_LIKELY(val.is_valid())) {
2066
38.3k
            const auto cp = detail::decode_code_point_exhaustive(
2067
38.3k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
38.3k
            if (pred(cp)) {
2069
570
                return it;
2070
570
            }
2071
38.3k
        }
2072
38.8k
        it = val.iterator;
2073
38.8k
    }
2074
2075
178
    return it;
2076
748
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
732
{
2061
732
    auto it = range.begin();
2062
10.7k
    while (it != range.end()) {
2063
10.1k
        const auto val =
2064
10.1k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
10.1k
        if (SCN_LIKELY(val.is_valid())) {
2066
9.00k
            const auto cp = detail::decode_code_point_exhaustive(
2067
9.00k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
9.00k
            if (pred(cp)) {
2069
174
                return it;
2070
174
            }
2071
9.00k
        }
2072
10.0k
        it = val.iterator;
2073
10.0k
    }
2074
2075
558
    return it;
2076
732
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
2.35k
{
2061
2.35k
    auto it = range.begin();
2062
364k
    while (it != range.end()) {
2063
364k
        const auto val =
2064
364k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
364k
        if (SCN_LIKELY(val.is_valid())) {
2066
362k
            const auto cp = detail::decode_code_point_exhaustive(
2067
362k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
362k
            if (pred(cp)) {
2069
2.17k
                return it;
2070
2.17k
            }
2071
362k
        }
2072
362k
        it = val.iterator;
2073
362k
    }
2074
2075
186
    return it;
2076
2.35k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2060
3.78k
{
2061
3.78k
    auto it = range.begin();
2062
5.59k
    while (it != range.end()) {
2063
4.86k
        const auto val =
2064
4.86k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
4.86k
        if (SCN_LIKELY(val.is_valid())) {
2066
4.86k
            const auto cp = detail::decode_code_point_exhaustive(
2067
4.86k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
4.86k
            if (pred(cp)) {
2069
3.05k
                return it;
2070
3.05k
            }
2071
4.86k
        }
2072
1.80k
        it = val.iterator;
2073
1.80k
    }
2074
2075
732
    return it;
2076
3.78k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
78
{
2061
78
    auto it = range.begin();
2062
78
    while (it != range.end()) {
2063
78
        const auto val =
2064
78
            read_code_point_into(ranges::subrange{it, range.end()});
2065
78
        if (SCN_LIKELY(val.is_valid())) {
2066
78
            const auto cp = detail::decode_code_point_exhaustive(
2067
78
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
78
            if (pred(cp)) {
2069
78
                return it;
2070
78
            }
2071
78
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
78
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
12.8k
{
2061
12.8k
    auto it = range.begin();
2062
45.4k
    while (it != range.end()) {
2063
42.9k
        const auto val =
2064
42.9k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
42.9k
        if (SCN_LIKELY(val.is_valid())) {
2066
42.9k
            const auto cp = detail::decode_code_point_exhaustive(
2067
42.9k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
42.9k
            if (pred(cp)) {
2069
10.3k
                return it;
2070
10.3k
            }
2071
42.9k
        }
2072
32.6k
        it = val.iterator;
2073
32.6k
    }
2074
2075
2.51k
    return it;
2076
12.8k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
306
{
2061
306
    auto it = range.begin();
2062
11.4k
    while (it != range.end()) {
2063
11.2k
        const auto val =
2064
11.2k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
11.2k
        if (SCN_LIKELY(val.is_valid())) {
2066
11.2k
            const auto cp = detail::decode_code_point_exhaustive(
2067
11.2k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
11.2k
            if (pred(cp)) {
2069
36
                return it;
2070
36
            }
2071
11.2k
        }
2072
11.1k
        it = val.iterator;
2073
11.1k
    }
2074
2075
270
    return it;
2076
306
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
1.87k
{
2061
1.87k
    auto it = range.begin();
2062
3.01k
    while (it != range.end()) {
2063
2.90k
        const auto val =
2064
2.90k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
2.90k
        if (SCN_LIKELY(val.is_valid())) {
2066
2.90k
            const auto cp = detail::decode_code_point_exhaustive(
2067
2.90k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
2.90k
            if (pred(cp)) {
2069
1.76k
                return it;
2070
1.76k
            }
2071
2.90k
        }
2072
1.14k
        it = val.iterator;
2073
1.14k
    }
2074
2075
112
    return it;
2076
1.87k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
730
{
2061
730
    auto it = range.begin();
2062
730
    while (it != range.end()) {
2063
730
        const auto val =
2064
730
            read_code_point_into(ranges::subrange{it, range.end()});
2065
730
        if (SCN_LIKELY(val.is_valid())) {
2066
730
            const auto cp = detail::decode_code_point_exhaustive(
2067
730
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
730
            if (pred(cp)) {
2069
730
                return it;
2070
730
            }
2071
730
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
730
}
2077
2078
template <typename Range>
2079
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2080
    -> ranges::const_iterator_t<Range>
2081
19.7k
{
2082
19.7k
    return read_until_code_point(range, std::not_fn(pred));
2083
19.7k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
646
{
2082
646
    return read_until_code_point(range, std::not_fn(pred));
2083
646
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
2.12k
{
2082
2.12k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.12k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2081
3.78k
{
2082
3.78k
    return read_until_code_point(range, std::not_fn(pred));
2083
3.78k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
78
{
2082
78
    return read_until_code_point(range, std::not_fn(pred));
2083
78
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
10.4k
{
2082
10.4k
    return read_until_code_point(range, std::not_fn(pred));
2083
10.4k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
1.87k
{
2082
1.87k
    return read_until_code_point(range, std::not_fn(pred));
2083
1.87k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
730
{
2082
730
    return read_until_code_point(range, std::not_fn(pred));
2083
730
}
2084
2085
template <typename Range>
2086
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2087
6.10k
{
2088
6.10k
    if constexpr (ranges::contiguous_range<Range> &&
2089
6.10k
                  ranges::sized_range<Range> &&
2090
6.10k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
3.42k
        auto buf = make_contiguous_buffer(range);
2092
3.42k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
3.42k
        return ranges::next(range.begin(),
2094
3.42k
                            ranges::distance(buf.view().begin(), it));
2095
3.42k
    }
2096
3.42k
    else {
2097
3.42k
        auto it = range.begin();
2098
2099
3.42k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
732
            auto seg = get_contiguous_beginning(range);
2101
732
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
732
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
732
            ranges::advance(it, seg.size());
2106
732
        }
2107
2108
732
        return read_until_code_point(
2109
732
            ranges::subrange{it, range.end()},
2110
46.9k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
9.00k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
11.2k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2110
26.7k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
2111
3.42k
    }
2112
6.10k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
732
{
2088
732
    if constexpr (ranges::contiguous_range<Range> &&
2089
732
                  ranges::sized_range<Range> &&
2090
732
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
732
        auto buf = make_contiguous_buffer(range);
2092
732
        auto it = find_classic_space_narrow_fast(buf.view());
2093
732
        return ranges::next(range.begin(),
2094
732
                            ranges::distance(buf.view().begin(), it));
2095
732
    }
2096
732
    else {
2097
732
        auto it = range.begin();
2098
2099
732
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
732
            auto seg = get_contiguous_beginning(range);
2101
732
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
732
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
732
            ranges::advance(it, seg.size());
2106
732
        }
2107
2108
732
        return read_until_code_point(
2109
732
            ranges::subrange{it, range.end()},
2110
732
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
732
    }
2112
732
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
2.68k
{
2088
2.68k
    if constexpr (ranges::contiguous_range<Range> &&
2089
2.68k
                  ranges::sized_range<Range> &&
2090
2.68k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
2.68k
        auto buf = make_contiguous_buffer(range);
2092
2.68k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
2.68k
        return ranges::next(range.begin(),
2094
2.68k
                            ranges::distance(buf.view().begin(), it));
2095
2.68k
    }
2096
2.68k
    else {
2097
2.68k
        auto it = range.begin();
2098
2099
2.68k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
2.68k
            auto seg = get_contiguous_beginning(range);
2101
2.68k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
2.68k
                seg_it != seg.end()) {
2103
2.68k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
2.68k
            }
2105
2.68k
            ranges::advance(it, seg.size());
2106
2.68k
        }
2107
2108
2.68k
        return read_until_code_point(
2109
2.68k
            ranges::subrange{it, range.end()},
2110
2.68k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
2.68k
    }
2112
2.68k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
306
{
2088
306
    if constexpr (ranges::contiguous_range<Range> &&
2089
306
                  ranges::sized_range<Range> &&
2090
306
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
306
        auto buf = make_contiguous_buffer(range);
2092
306
        auto it = find_classic_space_narrow_fast(buf.view());
2093
306
        return ranges::next(range.begin(),
2094
306
                            ranges::distance(buf.view().begin(), it));
2095
306
    }
2096
306
    else {
2097
306
        auto it = range.begin();
2098
2099
306
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
306
            auto seg = get_contiguous_beginning(range);
2101
306
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
306
                seg_it != seg.end()) {
2103
306
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
306
            }
2105
306
            ranges::advance(it, seg.size());
2106
306
        }
2107
2108
306
        return read_until_code_point(
2109
306
            ranges::subrange{it, range.end()},
2110
306
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
306
    }
2112
306
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
2.38k
{
2088
2.38k
    if constexpr (ranges::contiguous_range<Range> &&
2089
2.38k
                  ranges::sized_range<Range> &&
2090
2.38k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
2.38k
        auto buf = make_contiguous_buffer(range);
2092
2.38k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
2.38k
        return ranges::next(range.begin(),
2094
2.38k
                            ranges::distance(buf.view().begin(), it));
2095
2.38k
    }
2096
2.38k
    else {
2097
2.38k
        auto it = range.begin();
2098
2099
2.38k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
2.38k
            auto seg = get_contiguous_beginning(range);
2101
2.38k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
2.38k
                seg_it != seg.end()) {
2103
2.38k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
2.38k
            }
2105
2.38k
            ranges::advance(it, seg.size());
2106
2.38k
        }
2107
2108
2.38k
        return read_until_code_point(
2109
2.38k
            ranges::subrange{it, range.end()},
2110
2.38k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
2.38k
    }
2112
2.38k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
2113
2114
template <typename Range>
2115
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2116
34.9k
{
2117
34.9k
    if constexpr (ranges::contiguous_range<Range> &&
2118
34.9k
                  ranges::sized_range<Range> &&
2119
34.9k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
17.1k
        auto buf = make_contiguous_buffer(range);
2121
17.1k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
17.1k
        return ranges::next(range.begin(),
2123
17.1k
                            ranges::distance(buf.view().begin(), it));
2124
17.1k
    }
2125
17.1k
    else {
2126
17.1k
        auto it = range.begin();
2127
2128
17.1k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
2.28k
            auto seg = get_contiguous_beginning(range);
2130
2.28k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
2.28k
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
2.28k
            ranges::advance(it, seg.size());
2135
2.28k
        }
2136
2137
2.28k
        return read_while_code_point(
2138
22.1k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
1.78k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2138
4.86k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
78
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2138
11.8k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
2.90k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
730
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
17.1k
    }
2140
34.9k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
412
{
2117
412
    if constexpr (ranges::contiguous_range<Range> &&
2118
412
                  ranges::sized_range<Range> &&
2119
412
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
412
        auto buf = make_contiguous_buffer(range);
2121
412
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
412
        return ranges::next(range.begin(),
2123
412
                            ranges::distance(buf.view().begin(), it));
2124
412
    }
2125
412
    else {
2126
412
        auto it = range.begin();
2127
2128
412
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
412
            auto seg = get_contiguous_beginning(range);
2130
412
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
412
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
412
            ranges::advance(it, seg.size());
2135
412
        }
2136
2137
412
        return read_while_code_point(
2138
412
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
412
    }
2140
412
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
12.2k
{
2117
12.2k
    if constexpr (ranges::contiguous_range<Range> &&
2118
12.2k
                  ranges::sized_range<Range> &&
2119
12.2k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
12.2k
        auto buf = make_contiguous_buffer(range);
2121
12.2k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
12.2k
        return ranges::next(range.begin(),
2123
12.2k
                            ranges::distance(buf.view().begin(), it));
2124
12.2k
    }
2125
12.2k
    else {
2126
12.2k
        auto it = range.begin();
2127
2128
12.2k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
12.2k
            auto seg = get_contiguous_beginning(range);
2130
12.2k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
12.2k
                seg_it != seg.end()) {
2132
12.2k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
12.2k
            }
2134
12.2k
            ranges::advance(it, seg.size());
2135
12.2k
        }
2136
2137
12.2k
        return read_while_code_point(
2138
12.2k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
12.2k
    }
2140
12.2k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
3.78k
{
2117
3.78k
    if constexpr (ranges::contiguous_range<Range> &&
2118
3.78k
                  ranges::sized_range<Range> &&
2119
3.78k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
3.78k
        auto buf = make_contiguous_buffer(range);
2121
3.78k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
3.78k
        return ranges::next(range.begin(),
2123
3.78k
                            ranges::distance(buf.view().begin(), it));
2124
3.78k
    }
2125
3.78k
    else {
2126
3.78k
        auto it = range.begin();
2127
2128
3.78k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.78k
            auto seg = get_contiguous_beginning(range);
2130
3.78k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.78k
                seg_it != seg.end()) {
2132
3.78k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
3.78k
            }
2134
3.78k
            ranges::advance(it, seg.size());
2135
3.78k
        }
2136
2137
3.78k
        return read_while_code_point(
2138
3.78k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
3.78k
    }
2140
3.78k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
78
{
2117
78
    if constexpr (ranges::contiguous_range<Range> &&
2118
78
                  ranges::sized_range<Range> &&
2119
78
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
78
        auto buf = make_contiguous_buffer(range);
2121
78
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
78
        return ranges::next(range.begin(),
2123
78
                            ranges::distance(buf.view().begin(), it));
2124
78
    }
2125
78
    else {
2126
78
        auto it = range.begin();
2127
2128
78
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
78
            auto seg = get_contiguous_beginning(range);
2130
78
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
78
                seg_it != seg.end()) {
2132
78
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
78
            }
2134
78
            ranges::advance(it, seg.size());
2135
78
        }
2136
2137
78
        return read_while_code_point(
2138
78
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
78
    }
2140
78
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
10.3k
{
2117
10.3k
    if constexpr (ranges::contiguous_range<Range> &&
2118
10.3k
                  ranges::sized_range<Range> &&
2119
10.3k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
10.3k
        auto buf = make_contiguous_buffer(range);
2121
10.3k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
10.3k
        return ranges::next(range.begin(),
2123
10.3k
                            ranges::distance(buf.view().begin(), it));
2124
10.3k
    }
2125
10.3k
    else {
2126
10.3k
        auto it = range.begin();
2127
2128
10.3k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
10.3k
            auto seg = get_contiguous_beginning(range);
2130
10.3k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
10.3k
                seg_it != seg.end()) {
2132
10.3k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
10.3k
            }
2134
10.3k
            ranges::advance(it, seg.size());
2135
10.3k
        }
2136
2137
10.3k
        return read_while_code_point(
2138
10.3k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
10.3k
    }
2140
10.3k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
5.51k
{
2117
5.51k
    if constexpr (ranges::contiguous_range<Range> &&
2118
5.51k
                  ranges::sized_range<Range> &&
2119
5.51k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
5.51k
        auto buf = make_contiguous_buffer(range);
2121
5.51k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
5.51k
        return ranges::next(range.begin(),
2123
5.51k
                            ranges::distance(buf.view().begin(), it));
2124
5.51k
    }
2125
5.51k
    else {
2126
5.51k
        auto it = range.begin();
2127
2128
5.51k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
5.51k
            auto seg = get_contiguous_beginning(range);
2130
5.51k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
5.51k
                seg_it != seg.end()) {
2132
5.51k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
5.51k
            }
2134
5.51k
            ranges::advance(it, seg.size());
2135
5.51k
        }
2136
2137
5.51k
        return read_while_code_point(
2138
5.51k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
5.51k
    }
2140
5.51k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
1.87k
{
2117
1.87k
    if constexpr (ranges::contiguous_range<Range> &&
2118
1.87k
                  ranges::sized_range<Range> &&
2119
1.87k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
1.87k
        auto buf = make_contiguous_buffer(range);
2121
1.87k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
1.87k
        return ranges::next(range.begin(),
2123
1.87k
                            ranges::distance(buf.view().begin(), it));
2124
1.87k
    }
2125
1.87k
    else {
2126
1.87k
        auto it = range.begin();
2127
2128
1.87k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
1.87k
            auto seg = get_contiguous_beginning(range);
2130
1.87k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
1.87k
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
1.87k
            ranges::advance(it, seg.size());
2135
1.87k
        }
2136
2137
1.87k
        return read_while_code_point(
2138
1.87k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
1.87k
    }
2140
1.87k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
730
{
2117
730
    if constexpr (ranges::contiguous_range<Range> &&
2118
730
                  ranges::sized_range<Range> &&
2119
730
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
730
        auto buf = make_contiguous_buffer(range);
2121
730
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
730
        return ranges::next(range.begin(),
2123
730
                            ranges::distance(buf.view().begin(), it));
2124
730
    }
2125
730
    else {
2126
730
        auto it = range.begin();
2127
2128
730
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
730
            auto seg = get_contiguous_beginning(range);
2130
730
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
730
                seg_it != seg.end()) {
2132
730
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
730
            }
2134
730
            ranges::advance(it, seg.size());
2135
730
        }
2136
2137
730
        return read_while_code_point(
2138
730
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
730
    }
2140
730
}
2141
2142
template <typename Range>
2143
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2144
    -> parse_expected<ranges::const_iterator_t<Range>>
2145
4.26k
{
2146
4.26k
    auto it = read_code_unit(range);
2147
4.26k
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
4.26k
    if (SCN_UNLIKELY(*range.begin() !=
2152
4.26k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
4.26k
        return unexpected(parse_error::error);
2154
4.26k
    }
2155
2156
0
    return *it;
2157
4.26k
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
34
{
2146
34
    auto it = read_code_unit(range);
2147
34
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
34
    if (SCN_UNLIKELY(*range.begin() !=
2152
34
                     static_cast<detail::char_t<Range>>(ch))) {
2153
34
        return unexpected(parse_error::error);
2154
34
    }
2155
2156
0
    return *it;
2157
34
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
1.76k
{
2146
1.76k
    auto it = read_code_unit(range);
2147
1.76k
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
1.76k
    if (SCN_UNLIKELY(*range.begin() !=
2152
1.76k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
1.76k
        return unexpected(parse_error::error);
2154
1.76k
    }
2155
2156
0
    return *it;
2157
1.76k
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
30
{
2146
30
    auto it = read_code_unit(range);
2147
30
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
30
    if (SCN_UNLIKELY(*range.begin() !=
2152
30
                     static_cast<detail::char_t<Range>>(ch))) {
2153
30
        return unexpected(parse_error::error);
2154
30
    }
2155
2156
0
    return *it;
2157
30
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
1.64k
{
2146
1.64k
    auto it = read_code_unit(range);
2147
1.64k
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
1.64k
    if (SCN_UNLIKELY(*range.begin() !=
2152
1.64k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
1.64k
        return unexpected(parse_error::error);
2154
1.64k
    }
2155
2156
0
    return *it;
2157
1.64k
}
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
544
{
2146
544
    auto it = read_code_unit(range);
2147
544
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
544
    if (SCN_UNLIKELY(*range.begin() !=
2152
544
                     static_cast<detail::char_t<Range>>(ch))) {
2153
544
        return unexpected(parse_error::error);
2154
544
    }
2155
2156
0
    return *it;
2157
544
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
248
{
2146
248
    auto it = read_code_unit(range);
2147
248
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
248
    if (SCN_UNLIKELY(*range.begin() !=
2152
248
                     static_cast<detail::char_t<Range>>(ch))) {
2153
248
        return unexpected(parse_error::error);
2154
248
    }
2155
2156
0
    return *it;
2157
248
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2158
2159
template <typename Range>
2160
auto read_matching_code_point(Range range, char32_t cp)
2161
    -> parse_expected<ranges::const_iterator_t<Range>>
2162
{
2163
    auto val = read_code_point_into(range);
2164
    if (!val.is_valid()) {
2165
        return unexpected(parse_error::error);
2166
    }
2167
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2168
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2169
        return unexpected(parse_error::error);
2170
    }
2171
    return val.iterator;
2172
}
2173
2174
template <typename Range>
2175
auto read_matching_string(Range range,
2176
                          std::basic_string_view<detail::char_t<Range>> str)
2177
    -> parse_expected<ranges::const_iterator_t<Range>>
2178
60
{
2179
60
    SCN_TRY(it, read_exactly_n_code_units(
2180
38
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
38
                    .transform_error(make_eof_parse_error));
2182
2183
38
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
38
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
38
        return unexpected(parse_error::error);
2186
38
    }
2187
0
    return it;
2188
38
}
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
20
{
2179
20
    SCN_TRY(it, read_exactly_n_code_units(
2180
8
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
8
                    .transform_error(make_eof_parse_error));
2182
2183
8
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
8
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
8
        return unexpected(parse_error::error);
2186
8
    }
2187
0
    return it;
2188
8
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
16
{
2179
16
    SCN_TRY(it, read_exactly_n_code_units(
2180
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
14
                    .transform_error(make_eof_parse_error));
2182
2183
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
14
        return unexpected(parse_error::error);
2186
14
    }
2187
0
    return it;
2188
14
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
12
{
2179
12
    SCN_TRY(it, read_exactly_n_code_units(
2180
6
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
6
                    .transform_error(make_eof_parse_error));
2182
2183
6
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
6
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
6
        return unexpected(parse_error::error);
2186
6
    }
2187
0
    return it;
2188
6
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
12
{
2179
12
    SCN_TRY(it, read_exactly_n_code_units(
2180
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
10
                    .transform_error(make_eof_parse_error));
2182
2183
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
10
        return unexpected(parse_error::error);
2186
10
    }
2187
0
    return it;
2188
10
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2189
2190
template <typename Range>
2191
auto read_matching_string_classic(Range range, std::string_view str)
2192
    -> parse_expected<ranges::const_iterator_t<Range>>
2193
4.36k
{
2194
4.36k
    SCN_TRY(it, read_exactly_n_code_units(
2195
3.96k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
3.96k
                    .transform_error(make_eof_parse_error));
2197
2198
3.96k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.70k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
2.26k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
2.26k
            return unexpected(parse_error::error);
2202
2.26k
        }
2203
0
        return it;
2204
2.26k
    }
2205
1.70k
    else {
2206
1.70k
        auto range_it = range.begin();
2207
1.70k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.70k
            if (SCN_UNLIKELY(*range_it !=
2209
1.70k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.70k
                return unexpected(parse_error::error);
2211
1.70k
            }
2212
1.70k
        }
2213
0
        return it;
2214
1.70k
    }
2215
3.96k
}
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.88k
{
2194
1.88k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.78k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.78k
                    .transform_error(make_eof_parse_error));
2197
2198
1.78k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.78k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.78k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.78k
            return unexpected(parse_error::error);
2202
1.78k
        }
2203
0
        return it;
2204
1.78k
    }
2205
1.78k
    else {
2206
1.78k
        auto range_it = range.begin();
2207
1.78k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.78k
            if (SCN_UNLIKELY(*range_it !=
2209
1.78k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.78k
                return unexpected(parse_error::error);
2211
1.78k
            }
2212
1.78k
        }
2213
1.78k
        return it;
2214
1.78k
    }
2215
1.78k
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
592
{
2194
592
    SCN_TRY(it, read_exactly_n_code_units(
2195
480
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
480
                    .transform_error(make_eof_parse_error));
2197
2198
480
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
480
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
480
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
480
            return unexpected(parse_error::error);
2202
480
        }
2203
0
        return it;
2204
480
    }
2205
480
    else {
2206
480
        auto range_it = range.begin();
2207
480
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
480
            if (SCN_UNLIKELY(*range_it !=
2209
480
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
480
                return unexpected(parse_error::error);
2211
480
            }
2212
480
        }
2213
480
        return it;
2214
480
    }
2215
480
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.64k
{
2194
1.64k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.51k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.51k
                    .transform_error(make_eof_parse_error));
2197
2198
1.51k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.51k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.51k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.51k
            return unexpected(parse_error::error);
2202
1.51k
        }
2203
1.51k
        return it;
2204
1.51k
    }
2205
1.51k
    else {
2206
1.51k
        auto range_it = range.begin();
2207
1.51k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.51k
            if (SCN_UNLIKELY(*range_it !=
2209
1.51k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.51k
                return unexpected(parse_error::error);
2211
1.51k
            }
2212
1.51k
        }
2213
0
        return it;
2214
1.51k
    }
2215
1.51k
}
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
244
{
2194
244
    SCN_TRY(it, read_exactly_n_code_units(
2195
186
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
186
                    .transform_error(make_eof_parse_error));
2197
2198
186
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
186
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
186
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
186
            return unexpected(parse_error::error);
2202
186
        }
2203
186
        return it;
2204
186
    }
2205
186
    else {
2206
186
        auto range_it = range.begin();
2207
186
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
186
            if (SCN_UNLIKELY(*range_it !=
2209
186
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
186
                return unexpected(parse_error::error);
2211
186
            }
2212
186
        }
2213
0
        return it;
2214
186
    }
2215
186
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2216
2217
// Ripped from fast_float
2218
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2219
3.49k
{
2220
3.49k
    unsigned char running_diff{0};
2221
12.2k
    for (size_t i = 0; i < len; ++i) {
2222
8.73k
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2223
8.73k
    }
2224
3.49k
    return running_diff == 0 || running_diff == 32;
2225
3.49k
}
2226
2227
template <typename Range>
2228
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2229
    -> parse_expected<ranges::const_iterator_t<Range>>
2230
8.40k
{
2231
8.40k
    using char_type = detail::char_t<Range>;
2232
2233
8.40k
    if constexpr (ranges::contiguous_range<Range> &&
2234
8.40k
                  std::is_same_v<char_type, char>) {
2235
4.89k
        if (range.size() < str.size()) {
2236
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
8
        }
2238
3.49k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
3.49k
            return unexpected(parse_error::error);
2240
3.49k
        }
2241
0
        return ranges::next(range.begin(), str.size());
2242
3.49k
    }
2243
4.89k
    else {
2244
4.89k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
4.63k
            if (ch < 'A' || ch > 'Z') {
2246
4.63k
                return ch;
2247
4.63k
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
4.63k
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
960
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
960
            if (ch < 'A' || ch > 'Z') {
2246
960
                return ch;
2247
960
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
960
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
436
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
436
            if (ch < 'A' || ch > 'Z') {
2246
436
                return ch;
2247
436
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
436
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
3.24k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
3.24k
            if (ch < 'A' || ch > 'Z') {
2246
3.24k
                return ch;
2247
3.24k
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
3.24k
        };
2251
2252
4.89k
        SCN_TRY(it, read_exactly_n_code_units(
2253
4.63k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
4.63k
                        .transform_error(make_eof_parse_error));
2255
2256
4.63k
        if (SCN_UNLIKELY(!std::equal(
2257
4.63k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
4.63k
                    return ascii_tolower(a) ==
2259
4.63k
                           static_cast<detail::char_t<Range>>(b);
2260
4.63k
                }))) {
2261
4.63k
            return unexpected(parse_error::error);
2262
4.63k
        }
2263
2264
0
        return it;
2265
4.63k
    }
2266
8.40k
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
1.13k
{
2231
1.13k
    using char_type = detail::char_t<Range>;
2232
2233
1.13k
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.13k
                  std::is_same_v<char_type, char>) {
2235
1.13k
        if (range.size() < str.size()) {
2236
1.13k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.13k
        }
2238
1.13k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.13k
            return unexpected(parse_error::error);
2240
1.13k
        }
2241
1.13k
        return ranges::next(range.begin(), str.size());
2242
1.13k
    }
2243
1.13k
    else {
2244
1.13k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.13k
            if (ch < 'A' || ch > 'Z') {
2246
1.13k
                return ch;
2247
1.13k
            }
2248
1.13k
            return static_cast<char_type>(ch +
2249
1.13k
                                          static_cast<char_type>('a' - 'A'));
2250
1.13k
        };
2251
2252
1.13k
        SCN_TRY(it, read_exactly_n_code_units(
2253
960
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
960
                        .transform_error(make_eof_parse_error));
2255
2256
960
        if (SCN_UNLIKELY(!std::equal(
2257
960
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
960
                    return ascii_tolower(a) ==
2259
960
                           static_cast<detail::char_t<Range>>(b);
2260
960
                }))) {
2261
960
            return unexpected(parse_error::error);
2262
960
        }
2263
2264
0
        return it;
2265
960
    }
2266
1.13k
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
3.50k
{
2231
3.50k
    using char_type = detail::char_t<Range>;
2232
2233
3.50k
    if constexpr (ranges::contiguous_range<Range> &&
2234
3.50k
                  std::is_same_v<char_type, char>) {
2235
3.50k
        if (range.size() < str.size()) {
2236
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
8
        }
2238
3.49k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
3.49k
            return unexpected(parse_error::error);
2240
3.49k
        }
2241
0
        return ranges::next(range.begin(), str.size());
2242
3.49k
    }
2243
3.50k
    else {
2244
3.50k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
3.50k
            if (ch < 'A' || ch > 'Z') {
2246
3.50k
                return ch;
2247
3.50k
            }
2248
3.50k
            return static_cast<char_type>(ch +
2249
3.50k
                                          static_cast<char_type>('a' - 'A'));
2250
3.50k
        };
2251
2252
3.50k
        SCN_TRY(it, read_exactly_n_code_units(
2253
3.50k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
3.50k
                        .transform_error(make_eof_parse_error));
2255
2256
3.50k
        if (SCN_UNLIKELY(!std::equal(
2257
3.50k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
3.50k
                    return ascii_tolower(a) ==
2259
3.50k
                           static_cast<detail::char_t<Range>>(b);
2260
3.50k
                }))) {
2261
3.50k
            return unexpected(parse_error::error);
2262
3.50k
        }
2263
2264
3.50k
        return it;
2265
3.50k
    }
2266
3.50k
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
520
{
2231
520
    using char_type = detail::char_t<Range>;
2232
2233
520
    if constexpr (ranges::contiguous_range<Range> &&
2234
520
                  std::is_same_v<char_type, char>) {
2235
520
        if (range.size() < str.size()) {
2236
520
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
520
        }
2238
520
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
520
            return unexpected(parse_error::error);
2240
520
        }
2241
520
        return ranges::next(range.begin(), str.size());
2242
520
    }
2243
520
    else {
2244
520
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
520
            if (ch < 'A' || ch > 'Z') {
2246
520
                return ch;
2247
520
            }
2248
520
            return static_cast<char_type>(ch +
2249
520
                                          static_cast<char_type>('a' - 'A'));
2250
520
        };
2251
2252
520
        SCN_TRY(it, read_exactly_n_code_units(
2253
436
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
436
                        .transform_error(make_eof_parse_error));
2255
2256
436
        if (SCN_UNLIKELY(!std::equal(
2257
436
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
436
                    return ascii_tolower(a) ==
2259
436
                           static_cast<detail::char_t<Range>>(b);
2260
436
                }))) {
2261
436
            return unexpected(parse_error::error);
2262
436
        }
2263
2264
0
        return it;
2265
436
    }
2266
520
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
3.24k
{
2231
3.24k
    using char_type = detail::char_t<Range>;
2232
2233
3.24k
    if constexpr (ranges::contiguous_range<Range> &&
2234
3.24k
                  std::is_same_v<char_type, char>) {
2235
3.24k
        if (range.size() < str.size()) {
2236
3.24k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
3.24k
        }
2238
3.24k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
3.24k
            return unexpected(parse_error::error);
2240
3.24k
        }
2241
3.24k
        return ranges::next(range.begin(), str.size());
2242
3.24k
    }
2243
3.24k
    else {
2244
3.24k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
3.24k
            if (ch < 'A' || ch > 'Z') {
2246
3.24k
                return ch;
2247
3.24k
            }
2248
3.24k
            return static_cast<char_type>(ch +
2249
3.24k
                                          static_cast<char_type>('a' - 'A'));
2250
3.24k
        };
2251
2252
3.24k
        SCN_TRY(it, read_exactly_n_code_units(
2253
3.24k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
3.24k
                        .transform_error(make_eof_parse_error));
2255
2256
3.24k
        if (SCN_UNLIKELY(!std::equal(
2257
3.24k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
3.24k
                    return ascii_tolower(a) ==
2259
3.24k
                           static_cast<detail::char_t<Range>>(b);
2260
3.24k
                }))) {
2261
3.24k
            return unexpected(parse_error::error);
2262
3.24k
        }
2263
2264
0
        return it;
2265
3.24k
    }
2266
3.24k
}
2267
2268
template <typename Range>
2269
auto read_one_of_code_unit(Range range, std::string_view str)
2270
    -> parse_expected<ranges::const_iterator_t<Range>>
2271
8.23k
{
2272
8.23k
    auto it = read_code_unit(range);
2273
8.23k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
16.4k
    for (auto ch : str) {
2278
16.4k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
16.4k
    }
2282
2283
8.23k
    return unexpected(parse_error::error);
2284
8.23k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
1.07k
{
2272
1.07k
    auto it = read_code_unit(range);
2273
1.07k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
2.15k
    for (auto ch : str) {
2278
2.15k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
2.15k
    }
2282
2283
1.07k
    return unexpected(parse_error::error);
2284
1.07k
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
3.44k
{
2272
3.44k
    auto it = read_code_unit(range);
2273
3.44k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
6.89k
    for (auto ch : str) {
2278
6.89k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
6.89k
    }
2282
2283
3.44k
    return unexpected(parse_error::error);
2284
3.44k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
486
{
2272
486
    auto it = read_code_unit(range);
2273
486
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
972
    for (auto ch : str) {
2278
972
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
972
    }
2282
2283
486
    return unexpected(parse_error::error);
2284
486
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
3.22k
{
2272
3.22k
    auto it = read_code_unit(range);
2273
3.22k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
6.44k
    for (auto ch : str) {
2278
6.44k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
6.44k
    }
2282
2283
3.22k
    return unexpected(parse_error::error);
2284
3.22k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
2285
2286
template <typename Range, template <class> class Expected, typename Iterator>
2287
auto apply_opt(Expected<Iterator>&& result, Range range)
2288
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2289
                        ranges::const_iterator_t<Range>>
2290
2.09k
{
2291
2.09k
    if (!result) {
2292
2.09k
        return range.begin();
2293
2.09k
    }
2294
0
    return *result;
2295
2.09k
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
286
{
2291
286
    if (!result) {
2292
286
        return range.begin();
2293
286
    }
2294
0
    return *result;
2295
286
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
874
{
2291
874
    if (!result) {
2292
874
        return range.begin();
2293
874
    }
2294
0
    return *result;
2295
874
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
126
{
2291
126
    if (!result) {
2292
126
        return range.begin();
2293
126
    }
2294
0
    return *result;
2295
126
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
810
{
2291
810
    if (!result) {
2292
810
        return range.begin();
2293
810
    }
2294
0
    return *result;
2295
810
}
2296
2297
/////////////////////////////////////////////////////////////////
2298
// Text width calculation
2299
/////////////////////////////////////////////////////////////////
2300
2301
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2302
136k
{
2303
136k
    if (cp >= 0x1100 &&
2304
136k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2305
18.7k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2306
18.7k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2307
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2308
18.7k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2309
18.7k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2310
18.7k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2311
18.7k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2312
18.7k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2313
18.7k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2314
18.7k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2315
18.7k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2316
18.7k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2317
         // Miscellaneous Symbols and Pictographs + Emoticons:
2318
18.7k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2319
         // Supplemental Symbols and Pictographs:
2320
18.7k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2321
4.78k
        return 2;
2322
4.78k
    }
2323
131k
    return 1;
2324
136k
}
2325
2326
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2327
98.1k
{
2328
98.1k
    return calculate_text_width_for_fmt_v10(cp);
2329
98.1k
}
2330
2331
template <typename CharT>
2332
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2333
{
2334
    size_t count{0};
2335
    for_each_code_point_valid(input, [&count](char32_t cp) {
2336
        count += calculate_text_width_for_fmt_v10(cp);
2337
    });
2338
    return count;
2339
}
2340
2341
constexpr std::size_t calculate_text_width(char32_t cp)
2342
184
{
2343
184
    return calculate_text_width_for_fmt_v10(cp);
2344
184
}
2345
2346
template <typename CharT>
2347
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2348
25.8k
{
2349
25.8k
    size_t count{0};
2350
38.4k
    for_each_code_point(input, [&count](char32_t cp) {
2351
38.4k
        count += calculate_text_width_for_fmt_v10(cp);
2352
38.4k
    });
scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
33.3k
    for_each_code_point(input, [&count](char32_t cp) {
2351
33.3k
        count += calculate_text_width_for_fmt_v10(cp);
2352
33.3k
    });
scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
5.08k
    for_each_code_point(input, [&count](char32_t cp) {
2351
5.08k
        count += calculate_text_width_for_fmt_v10(cp);
2352
5.08k
    });
2353
25.8k
    return count;
2354
25.8k
}
unsigned long scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2348
22.6k
{
2349
22.6k
    size_t count{0};
2350
22.6k
    for_each_code_point(input, [&count](char32_t cp) {
2351
22.6k
        count += calculate_text_width_for_fmt_v10(cp);
2352
22.6k
    });
2353
22.6k
    return count;
2354
22.6k
}
unsigned long scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2348
3.21k
{
2349
3.21k
    size_t count{0};
2350
3.21k
    for_each_code_point(input, [&count](char32_t cp) {
2351
3.21k
        count += calculate_text_width_for_fmt_v10(cp);
2352
3.21k
    });
2353
3.21k
    return count;
2354
3.21k
}
2355
2356
namespace counted_width_iterator_impl {
2357
template <typename It, typename S>
2358
class counted_width_iterator {
2359
    static_assert(ranges::forward_iterator<It>);
2360
    static_assert(ranges::sentinel_for<S, It>);
2361
2362
    template <typename OtherIt, typename OtherS>
2363
    friend class counted_width_iterator;
2364
2365
public:
2366
    using iterator = It;
2367
    using sentinel = S;
2368
    using value_type = ranges::iter_value_t<It>;
2369
    using pointer = value_type*;
2370
    using reference = value_type&;
2371
    using difference_type = ranges::iter_difference_t<It>;
2372
    using iterator_category =
2373
        std::conditional_t<ranges::bidirectional_iterator<It>,
2374
                           std::bidirectional_iterator_tag,
2375
                           std::forward_iterator_tag>;
2376
2377
    constexpr counted_width_iterator() = default;
2378
2379
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2380
        : m_current(x), m_end(s), m_count(n)
2381
32.2k
    {
2382
32.2k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2381
19.2k
    {
2382
19.2k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2381
6.89k
    {
2382
6.89k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2381
4.46k
    {
2382
4.46k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2381
1.71k
    {
2382
1.71k
    }
2383
2384
    template <typename OtherIt,
2385
              typename OtherS,
2386
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2387
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2388
    constexpr counted_width_iterator(
2389
        const counted_width_iterator<OtherIt, OtherS>& other)
2390
        : m_current(other.m_current),
2391
          m_end(other.m_end),
2392
          m_count(other.m_count),
2393
          m_multibyte_left(other.m_multibyte_left)
2394
    {
2395
    }
2396
2397
    template <typename OtherIt, typename OtherS>
2398
    constexpr auto operator=(
2399
        const counted_width_iterator<OtherIt, OtherS>& other)
2400
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2401
                                std::is_convertible_v<OtherS, S>,
2402
                            counted_width_iterator&>
2403
    {
2404
        m_current = other.m_current;
2405
        m_end = other.m_end;
2406
        m_count = other.m_count;
2407
        m_multibyte_left = other.m_multibyte_left;
2408
        return *this;
2409
    }
2410
2411
    constexpr It base() const
2412
215k
    {
2413
215k
        return m_current;
2414
215k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2412
165k
    {
2413
165k
        return m_current;
2414
165k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2412
34.2k
    {
2413
34.2k
        return m_current;
2414
34.2k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
12.1k
    {
2413
12.1k
        return m_current;
2414
12.1k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
3.47k
    {
2413
3.47k
        return m_current;
2414
3.47k
    }
2415
    constexpr difference_type count() const
2416
210k
    {
2417
210k
        return m_count;
2418
210k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2416
161k
    {
2417
161k
        return m_count;
2418
161k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2416
33.0k
    {
2417
33.0k
        return m_count;
2418
33.0k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
12.4k
    {
2417
12.4k
        return m_count;
2418
12.4k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
3.49k
    {
2417
3.49k
        return m_count;
2418
3.49k
    }
2419
    constexpr difference_type multibyte_left() const
2420
3.28k
    {
2421
3.28k
        return m_multibyte_left;
2422
3.28k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2420
2.43k
    {
2421
2.43k
        return m_multibyte_left;
2422
2.43k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2420
294
    {
2421
294
        return m_multibyte_left;
2422
294
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
536
    {
2421
536
        return m_multibyte_left;
2422
536
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
18
    {
2421
18
        return m_multibyte_left;
2422
18
    }
2423
2424
    constexpr decltype(auto) operator*()
2425
226k
    {
2426
226k
        return *m_current;
2427
226k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2425
181k
    {
2426
181k
        return *m_current;
2427
181k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2425
36.4k
    {
2426
36.4k
        return *m_current;
2427
36.4k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
6.95k
    {
2426
6.95k
        return *m_current;
2427
6.95k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
1.75k
    {
2426
1.75k
        return *m_current;
2427
1.75k
    }
2428
    constexpr decltype(auto) operator*() const
2429
8.75k
    {
2430
8.75k
        return *m_current;
2431
8.75k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2429
7.17k
    {
2430
7.17k
        return *m_current;
2431
7.17k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2429
1.58k
    {
2430
1.58k
        return *m_current;
2431
1.58k
    }
2432
2433
    constexpr counted_width_iterator& operator++()
2434
194k
    {
2435
194k
        SCN_EXPECT(m_current != m_end);
2436
194k
        _increment_current();
2437
194k
        return *this;
2438
194k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2434
162k
    {
2435
162k
        SCN_EXPECT(m_current != m_end);
2436
162k
        _increment_current();
2437
162k
        return *this;
2438
162k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2434
25.1k
    {
2435
25.1k
        SCN_EXPECT(m_current != m_end);
2436
25.1k
        _increment_current();
2437
25.1k
        return *this;
2438
25.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
5.51k
    {
2435
5.51k
        SCN_EXPECT(m_current != m_end);
2436
5.51k
        _increment_current();
2437
5.51k
        return *this;
2438
5.51k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
790
    {
2435
790
        SCN_EXPECT(m_current != m_end);
2436
790
        _increment_current();
2437
790
        return *this;
2438
790
    }
2439
2440
    constexpr counted_width_iterator operator++(int)
2441
    {
2442
        auto tmp = *this;
2443
        ++*this;
2444
        return tmp;
2445
    }
2446
2447
    template <typename Iter = It>
2448
    constexpr auto operator--()
2449
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2450
                            counted_width_iterator&>
2451
0
    {
2452
0
        _decrement_current();
2453
0
        return *this;
2454
0
    }
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2455
2456
    template <typename Iter = It>
2457
    constexpr auto operator--(int)
2458
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2459
                            counted_width_iterator>
2460
    {
2461
        auto tmp = *this;
2462
        --*this;
2463
        return tmp;
2464
    }
2465
2466
    // TODO: optimize, make better than forward, if possible
2467
#if 0
2468
                template <typename Iter = It>
2469
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2470
                    ranges_std::random_access_iterator<Iter>,
2471
                    counted_width_iterator>
2472
                {
2473
                    // TODO
2474
                    return counted_width_iterator(m_current + n, m_count - n);
2475
                }
2476
2477
                template <typename Iter = It,
2478
                          std::enable_if_t<ranges_std::random_access_iterator<
2479
                              Iter>>* = nullptr>
2480
                friend constexpr counted_width_iterator operator+(
2481
                    ranges_std::iter_difference_t<Iter> n,
2482
                    const counted_width_iterator<Iter>& x)
2483
                {
2484
                    return x + n;
2485
                }
2486
2487
                template <typename Iter = It>
2488
                constexpr auto operator+=(difference_type n)
2489
                    -> std::enable_if_t<
2490
                        ranges_std::random_access_iterator<Iter>,
2491
                        counted_width_iterator&>
2492
                {
2493
                    // TODO
2494
                    m_current += n;
2495
                    m_count -= n;
2496
                    return *this;
2497
                }
2498
2499
                template <typename Iter = It>
2500
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2501
                    ranges_std::random_access_iterator<Iter>,
2502
                    counted_width_iterator>
2503
                {
2504
                    // TODO
2505
                    return counted_width_iterator(m_current - n, m_count + n);
2506
                }
2507
2508
                template <typename Iter = It,
2509
                          std::enable_if_t<ranges_std::random_access_iterator<
2510
                              Iter>>* = nullptr>
2511
                constexpr decltype(auto) operator[](difference_type n) const
2512
                {
2513
                    return m_current[n];
2514
                }
2515
#endif
2516
2517
    template <typename OtherIt, typename OtherS>
2518
    friend constexpr auto operator==(
2519
        const counted_width_iterator& a,
2520
        const counted_width_iterator<OtherIt, OtherS>& b)
2521
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2522
106k
    {
2523
106k
        return a.m_current == b.m_current;
2524
106k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
95.0k
    {
2523
95.0k
        return a.m_current == b.m_current;
2524
95.0k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
9.68k
    {
2523
9.68k
        return a.m_current == b.m_current;
2524
9.68k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
2.16k
    {
2523
2.16k
        return a.m_current == b.m_current;
2524
2.16k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2525
    template <typename OtherIt, typename OtherS>
2526
    friend constexpr auto operator!=(
2527
        const counted_width_iterator& a,
2528
        const counted_width_iterator<OtherIt, OtherS>& b)
2529
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2530
102k
    {
2531
102k
        return !(a == b);
2532
102k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
91.2k
    {
2531
91.2k
        return !(a == b);
2532
91.2k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
9.21k
    {
2531
9.21k
        return !(a == b);
2532
9.21k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
2.16k
    {
2531
2.16k
        return !(a == b);
2532
2.16k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2533
2534
    friend constexpr bool operator==(const counted_width_iterator& x,
2535
                                     ranges::default_sentinel_t)
2536
    {
2537
        return x.count() == 0 && x.multibyte_left() == 0;
2538
    }
2539
    friend constexpr bool operator==(ranges::default_sentinel_t,
2540
                                     const counted_width_iterator& x)
2541
    {
2542
        return x.count() == 0 && x.multibyte_left() == 0;
2543
    }
2544
2545
    friend constexpr bool operator!=(const counted_width_iterator& a,
2546
                                     ranges::default_sentinel_t b)
2547
    {
2548
        return !(a == b);
2549
    }
2550
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2551
                                     const counted_width_iterator& b)
2552
    {
2553
        return !(a == b);
2554
    }
2555
2556
    template <typename OtherIt, typename OtherS>
2557
    friend constexpr auto operator<(
2558
        const counted_width_iterator& a,
2559
        const counted_width_iterator<OtherIt, OtherS>& b)
2560
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2561
    {
2562
        if (a.count() == b.count()) {
2563
            return a.multibyte_left() > b.multibyte_left();
2564
        }
2565
2566
        return a.count() > b.count();
2567
    }
2568
2569
    template <typename OtherIt, typename OtherS>
2570
    friend constexpr auto operator>(
2571
        const counted_width_iterator& a,
2572
        const counted_width_iterator<OtherIt, OtherS>& b)
2573
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2574
    {
2575
        return !(b < a);
2576
    }
2577
2578
    template <typename OtherIt, typename OtherS>
2579
    friend constexpr auto operator<=(
2580
        const counted_width_iterator& a,
2581
        const counted_width_iterator<OtherIt, OtherS>& b)
2582
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2583
    {
2584
        return !(b < a);
2585
    }
2586
2587
    template <typename OtherIt, typename OtherS>
2588
    friend constexpr auto operator>=(
2589
        const counted_width_iterator& a,
2590
        const counted_width_iterator<OtherIt, OtherS>& b)
2591
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2592
    {
2593
        return !(a < b);
2594
    }
2595
2596
#if 0
2597
                template <typename OtherIt, typename OtherS>
2598
                friend constexpr auto operator-(
2599
                    const counted_width_iterator& a,
2600
                    const counted_width_iterator<OtherIt, OtherS>& b)
2601
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2602
                                        ranges_std::iter_difference_t<OtherIt>>
2603
                {
2604
                    // TODO
2605
                }
2606
2607
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2608
                    const counted_width_iterator& x,
2609
                    ranges_std::default_sentinel_t)
2610
                {
2611
                    // TODO
2612
                }
2613
2614
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2615
                    ranges_std::default_sentinel_t,
2616
                    const counted_width_iterator& x)
2617
                {
2618
                    // TODO
2619
                }
2620
#endif
2621
2622
#if 0
2623
                template <typename Iter = It>
2624
                constexpr auto operator-=(difference_type n)
2625
                    -> std::enable_if_t<
2626
                        ranges_std::random_access_iterator<Iter>,
2627
                        counted_width_iterator&>
2628
                {
2629
                    // TODO
2630
                    m_current -= n;
2631
                    m_count += n;
2632
                    return *this;
2633
                }
2634
#endif
2635
2636
private:
2637
    difference_type _get_cp_length_at_current() const
2638
119k
    {
2639
119k
        return static_cast<difference_type>(
2640
119k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
119k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
89.9k
    {
2639
89.9k
        return static_cast<difference_type>(
2640
89.9k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
89.9k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
25.1k
    {
2639
25.1k
        return static_cast<difference_type>(
2640
25.1k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
25.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
4.05k
    {
2639
4.05k
        return static_cast<difference_type>(
2640
4.05k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
4.05k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
790
    {
2639
790
        return static_cast<difference_type>(
2640
790
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
790
    }
2642
2643
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2644
119k
    {
2645
119k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
752
            return 0;
2647
752
        }
2648
2649
119k
        if (cplen == 1) {
2650
98.1k
            SCN_EXPECT(m_current != m_end);
2651
98.1k
            auto cp = static_cast<char32_t>(*m_current);
2652
98.1k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
98.1k
        }
2654
2655
21.0k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
21.0k
                                           cplen);
2657
21.0k
        if (SCN_UNLIKELY(!r)) {
2658
318
            return 0;
2659
318
        }
2660
2661
20.7k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
20.7k
        return static_cast<difference_type>(
2663
20.7k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
21.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
89.9k
    {
2645
89.9k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
752
            return 0;
2647
752
        }
2648
2649
89.2k
        if (cplen == 1) {
2650
69.1k
            SCN_EXPECT(m_current != m_end);
2651
69.1k
            auto cp = static_cast<char32_t>(*m_current);
2652
69.1k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
69.1k
        }
2654
2655
20.1k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
20.1k
                                           cplen);
2657
20.1k
        if (SCN_UNLIKELY(!r)) {
2658
318
            return 0;
2659
318
        }
2660
2661
19.7k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
19.7k
        return static_cast<difference_type>(
2663
19.7k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
20.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
25.1k
    {
2645
25.1k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
25.1k
        if (cplen == 1) {
2650
25.1k
            SCN_EXPECT(m_current != m_end);
2651
25.1k
            auto cp = static_cast<char32_t>(*m_current);
2652
25.1k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
25.1k
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
4.05k
    {
2645
4.05k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
4.05k
        if (cplen == 1) {
2650
3.12k
            SCN_EXPECT(m_current != m_end);
2651
3.12k
            auto cp = static_cast<char32_t>(*m_current);
2652
3.12k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
3.12k
        }
2654
2655
938
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
938
                                           cplen);
2657
938
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
938
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
938
        return static_cast<difference_type>(
2663
938
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
938
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
790
    {
2645
790
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
790
        if (cplen == 1) {
2650
790
            SCN_EXPECT(m_current != m_end);
2651
790
            auto cp = static_cast<char32_t>(*m_current);
2652
790
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
790
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
2665
2666
    void _increment_current()
2667
194k
    {
2668
194k
        if (m_multibyte_left == 0) {
2669
119k
            auto cplen = _get_cp_length_at_current();
2670
119k
            m_multibyte_left = cplen - 1;
2671
119k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
119k
        }
2673
74.3k
        else {
2674
74.3k
            --m_multibyte_left;
2675
74.3k
        }
2676
2677
194k
        ++m_current;
2678
194k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2667
162k
    {
2668
162k
        if (m_multibyte_left == 0) {
2669
89.9k
            auto cplen = _get_cp_length_at_current();
2670
89.9k
            m_multibyte_left = cplen - 1;
2671
89.9k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
89.9k
        }
2673
72.9k
        else {
2674
72.9k
            --m_multibyte_left;
2675
72.9k
        }
2676
2677
162k
        ++m_current;
2678
162k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2667
25.1k
    {
2668
25.1k
        if (m_multibyte_left == 0) {
2669
25.1k
            auto cplen = _get_cp_length_at_current();
2670
25.1k
            m_multibyte_left = cplen - 1;
2671
25.1k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
25.1k
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
25.1k
        ++m_current;
2678
25.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
5.51k
    {
2668
5.51k
        if (m_multibyte_left == 0) {
2669
4.05k
            auto cplen = _get_cp_length_at_current();
2670
4.05k
            m_multibyte_left = cplen - 1;
2671
4.05k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
4.05k
        }
2673
1.45k
        else {
2674
1.45k
            --m_multibyte_left;
2675
1.45k
        }
2676
2677
5.51k
        ++m_current;
2678
5.51k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
790
    {
2668
790
        if (m_multibyte_left == 0) {
2669
790
            auto cplen = _get_cp_length_at_current();
2670
790
            m_multibyte_left = cplen - 1;
2671
790
            m_count -= _get_width_at_current_cp_start(cplen);
2672
790
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
790
        ++m_current;
2678
790
    }
2679
2680
    void _decrement_current()
2681
0
    {
2682
0
        --m_current;
2683
2684
0
        auto cplen = _get_cp_length_at_current();
2685
0
        if (cplen == 0) {
2686
0
            ++m_multibyte_left;
2687
0
        }
2688
0
        else {
2689
0
            m_count += _get_width_at_current_cp_start(cplen);
2690
0
            m_multibyte_left = cplen - 1;
2691
0
        }
2692
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2693
2694
    It m_current{};
2695
    S m_end{};
2696
    difference_type m_count{0};
2697
    difference_type m_multibyte_left{0};
2698
};
2699
2700
template <typename I, typename S>
2701
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2702
    -> counted_width_iterator<I, S>;
2703
}  // namespace counted_width_iterator_impl
2704
2705
using counted_width_iterator_impl::counted_width_iterator;
2706
2707
template <typename View, typename = void>
2708
struct take_width_view_storage;
2709
2710
template <typename View>
2711
struct take_width_view_storage<View,
2712
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2713
14.0k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2713
7.96k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2713
2.50k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2713
2.59k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2713
986
    take_width_view_storage(const View& v) : view(v) {}
2714
2715
    const View& get() const
2716
193k
    {
2717
193k
        return view;
2718
193k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2716
147k
    {
2717
147k
        return view;
2718
147k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2716
22.4k
    {
2717
22.4k
        return view;
2718
22.4k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2716
17.7k
    {
2717
17.7k
        return view;
2718
17.7k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2716
5.93k
    {
2717
5.93k
        return view;
2718
5.93k
    }
2719
2720
    View view;
2721
};
2722
2723
template <typename View>
2724
struct take_width_view_storage<
2725
    View,
2726
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2727
    take_width_view_storage(const View& v) : view(&v) {}
2728
2729
    const View& get() const
2730
    {
2731
        return *view;
2732
    }
2733
2734
    const View* view;
2735
};
2736
2737
template <typename View>
2738
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2739
    template <bool IsConst>
2740
    class sentinel {
2741
        friend class sentinel<!IsConst>;
2742
        using Base = std::conditional_t<IsConst, const View, View>;
2743
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2744
                                           ranges::sentinel_t<Base>>;
2745
        using underlying = ranges::sentinel_t<Base>;
2746
2747
    public:
2748
        constexpr sentinel() = default;
2749
2750
129k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2750
109k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2750
8.69k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2750
8.80k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2750
2.50k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2751
2752
        template <
2753
            typename S,
2754
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2755
            bool C = IsConst,
2756
            typename VV = View,
2757
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2758
                                                        underlying>>* = nullptr>
2759
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2760
        {
2761
        }
2762
2763
        constexpr underlying base() const
2764
        {
2765
            return m_end;
2766
        }
2767
2768
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2769
205k
        {
2770
205k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
205k
                   y.base() == x.m_end;
2772
205k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2769
160k
        {
2770
160k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
160k
                   y.base() == x.m_end;
2772
160k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2769
32.6k
        {
2770
32.6k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
32.6k
                   y.base() == x.m_end;
2772
32.6k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2769
9.99k
        {
2770
9.99k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
9.99k
                   y.base() == x.m_end;
2772
9.99k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2769
2.50k
        {
2770
2.50k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
2.50k
                   y.base() == x.m_end;
2772
2.50k
        }
2773
2774
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2775
        {
2776
            return y == x;
2777
        }
2778
2779
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2780
110k
        {
2781
110k
            return !(y == x);
2782
110k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2780
89.5k
        {
2781
89.5k
            return !(y == x);
2782
89.5k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2780
15.3k
        {
2781
15.3k
            return !(y == x);
2782
15.3k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2780
4.55k
        {
2781
4.55k
            return !(y == x);
2782
4.55k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2780
1.04k
        {
2781
1.04k
            return !(y == x);
2782
1.04k
        }
2783
2784
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2785
        {
2786
            return !(y == x);
2787
        }
2788
2789
    private:
2790
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2791
    };
2792
2793
public:
2794
    using value_type = ranges::range_value_t<View>;
2795
2796
    take_width_view() = default;
2797
2798
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2799
        : m_base(base), m_count(count)
2800
14.0k
    {
2801
14.0k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2800
7.96k
    {
2801
7.96k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2800
2.50k
    {
2801
2.50k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2800
2.59k
    {
2801
2.59k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2800
986
    {
2801
986
    }
2802
2803
    constexpr View base() const
2804
    {
2805
        return m_base;
2806
    }
2807
2808
    constexpr auto begin() const
2809
32.2k
    {
2810
32.2k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
32.2k
                                      m_count};
2812
32.2k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2809
19.2k
    {
2810
19.2k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
19.2k
                                      m_count};
2812
19.2k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2809
6.89k
    {
2810
6.89k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
6.89k
                                      m_count};
2812
6.89k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2809
4.46k
    {
2810
4.46k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
4.46k
                                      m_count};
2812
4.46k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2809
1.71k
    {
2810
1.71k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
1.71k
                                      m_count};
2812
1.71k
    }
2813
2814
    constexpr auto end() const
2815
129k
    {
2816
129k
        return sentinel<true>{m_base.get().end()};
2817
129k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2815
109k
    {
2816
109k
        return sentinel<true>{m_base.get().end()};
2817
109k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2815
8.69k
    {
2816
8.69k
        return sentinel<true>{m_base.get().end()};
2817
8.69k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2815
8.80k
    {
2816
8.80k
        return sentinel<true>{m_base.get().end()};
2817
8.80k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2815
2.50k
    {
2816
2.50k
        return sentinel<true>{m_base.get().end()};
2817
2.50k
    }
2818
2819
private:
2820
    take_width_view_storage<View> m_base{};
2821
    std::ptrdiff_t m_count{0};
2822
};
2823
2824
template <typename R>
2825
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2826
2827
struct _take_width_fn {
2828
    template <typename R>
2829
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
2830
        -> decltype(take_width_view{r, n})
2831
14.0k
    {
2832
14.0k
        return take_width_view{r, n};
2833
14.0k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
2831
7.96k
    {
2832
7.96k
        return take_width_view{r, n};
2833
7.96k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
2831
2.50k
    {
2832
2.50k
        return take_width_view{r, n};
2833
2.50k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
2831
2.59k
    {
2832
2.59k
        return take_width_view{r, n};
2833
2.59k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
2831
986
    {
2832
986
        return take_width_view{r, n};
2833
986
    }
2834
};
2835
2836
inline constexpr _take_width_fn take_width{};
2837
}  // namespace impl
2838
2839
namespace ranges {
2840
template <typename R>
2841
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
2842
    enable_borrowed_range<R>;
2843
}
2844
2845
/////////////////////////////////////////////////////////////////
2846
// contiguous_scan_context
2847
/////////////////////////////////////////////////////////////////
2848
2849
namespace impl {
2850
template <typename CharT>
2851
class basic_contiguous_scan_context
2852
    : public detail::scan_context_base<
2853
          basic_scan_args<basic_scan_context<CharT>>> {
2854
    using base =
2855
        detail::scan_context_base<basic_scan_args<basic_scan_context<CharT>>>;
2856
2857
public:
2858
    using char_type = CharT;
2859
    using buffer_type = detail::basic_scan_buffer<char_type>;
2860
    using range_type = ranges::subrange<const char_type*, const char_type*>;
2861
    using iterator = const char_type*;
2862
    using sentinel = const char_type*;
2863
    using parse_context_type = basic_scan_parse_context<char_type>;
2864
2865
    using parent_context_type = basic_scan_context<char_type>;
2866
    using args_type = basic_scan_args<parent_context_type>;
2867
    using arg_type = basic_scan_arg<parent_context_type>;
2868
2869
    template <typename Range,
2870
              std::enable_if_t<ranges::contiguous_range<Range> &&
2871
                               ranges::borrowed_range<Range>>* = nullptr>
2872
    constexpr basic_contiguous_scan_context(Range&& r,
2873
                                            args_type a,
2874
                                            detail::locale_ref loc = {})
2875
        : base(SCN_MOVE(a), loc),
2876
          m_range(SCN_FWD(r)),
2877
          m_current(m_range.begin())
2878
242k
    {
2879
242k
    }
scn::v3::impl::basic_contiguous_scan_context<char>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
80.9k
    {
2879
80.9k
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
161k
    {
2879
161k
    }
2880
2881
    constexpr iterator begin() const
2882
461k
    {
2883
461k
        return m_current;
2884
461k
    }
scn::v3::impl::basic_contiguous_scan_context<char>::begin() const
Line
Count
Source
2882
191k
    {
2883
191k
        return m_current;
2884
191k
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin() const
Line
Count
Source
2882
269k
    {
2883
269k
        return m_current;
2884
269k
    }
2885
2886
    constexpr sentinel end() const
2887
291k
    {
2888
291k
        return m_range.end();
2889
291k
    }
scn::v3::impl::basic_contiguous_scan_context<char>::end() const
Line
Count
Source
2887
161k
    {
2888
161k
        return m_range.end();
2889
161k
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::end() const
Line
Count
Source
2887
130k
    {
2888
130k
        return m_range.end();
2889
130k
    }
2890
2891
    constexpr auto range() const
2892
83.0k
    {
2893
83.0k
        return ranges::subrange{begin(), end()};
2894
83.0k
    }
scn::v3::impl::basic_contiguous_scan_context<char>::range() const
Line
Count
Source
2892
57.8k
    {
2893
57.8k
        return ranges::subrange{begin(), end()};
2894
57.8k
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::range() const
Line
Count
Source
2892
25.2k
    {
2893
25.2k
        return ranges::subrange{begin(), end()};
2894
25.2k
    }
2895
2896
    constexpr auto underlying_range() const
2897
0
    {
2898
0
        return m_range;
2899
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::underlying_range() const
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::underlying_range() const
2900
2901
    void advance_to(iterator it)
2902
76.2k
    {
2903
76.2k
        SCN_EXPECT(it <= end());
2904
76.2k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
76.2k
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
76.2k
        }
2909
76.2k
        m_current = SCN_MOVE(it);
2910
76.2k
    }
scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(char const*)
Line
Count
Source
2902
52.5k
    {
2903
52.5k
        SCN_EXPECT(it <= end());
2904
52.5k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
52.5k
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
52.5k
        }
2909
52.5k
        m_current = SCN_MOVE(it);
2910
52.5k
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
2902
23.6k
    {
2903
23.6k
        SCN_EXPECT(it <= end());
2904
23.6k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
23.6k
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
23.6k
        }
2909
23.6k
        m_current = SCN_MOVE(it);
2910
23.6k
    }
2911
2912
    void advance_to(const typename parent_context_type::iterator& it)
2913
0
    {
2914
0
        SCN_EXPECT(it.position() <= m_range.size());
2915
0
        m_current = m_range.begin() + it.position();
2916
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
2917
2918
    std::ptrdiff_t begin_position()
2919
0
    {
2920
0
        return ranges::distance(m_range.begin(), begin());
2921
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::begin_position()
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin_position()
2922
2923
private:
2924
    range_type m_range;
2925
    iterator m_current;
2926
};
2927
2928
struct reader_error_handler {
2929
    constexpr void on_error(const char* msg)
2930
36.9k
    {
2931
36.9k
        SCN_UNLIKELY_ATTR
2932
36.9k
        m_msg = msg;
2933
36.9k
    }
2934
    explicit constexpr operator bool() const
2935
63.3k
    {
2936
63.3k
        return m_msg == nullptr;
2937
63.3k
    }
2938
2939
    const char* m_msg{nullptr};
2940
};
2941
2942
/////////////////////////////////////////////////////////////////
2943
// General reading support
2944
/////////////////////////////////////////////////////////////////
2945
2946
template <typename SourceRange>
2947
auto skip_classic_whitespace(const SourceRange& range,
2948
                             bool allow_exhaustion = false)
2949
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
2950
16.3k
{
2951
16.3k
    if (!allow_exhaustion) {
2952
15.3k
        auto it = read_while_classic_space(range);
2953
15.3k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
15.3k
            SCN_UNLIKELY(!e)) {
2955
112
            return unexpected(e);
2956
112
        }
2957
2958
15.2k
        return it;
2959
15.3k
    }
2960
2961
1.01k
    return read_while_classic_space(range);
2962
16.3k
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
412
{
2951
412
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
412
    return read_while_classic_space(range);
2962
412
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
6.74k
{
2951
6.74k
    if (!allow_exhaustion) {
2952
6.56k
        auto it = read_while_classic_space(range);
2953
6.56k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
6.56k
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
6.56k
        return it;
2959
6.56k
    }
2960
2961
178
    return read_while_classic_space(range);
2962
6.74k
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
78
{
2951
78
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
78
    return read_while_classic_space(range);
2962
78
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
6.52k
{
2951
6.52k
    if (!allow_exhaustion) {
2952
6.17k
        auto it = read_while_classic_space(range);
2953
6.17k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
6.17k
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
6.17k
        return it;
2959
6.17k
    }
2960
2961
350
    return read_while_classic_space(range);
2962
6.52k
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
1.87k
{
2951
1.87k
    if (!allow_exhaustion) {
2952
1.87k
        auto it = read_while_classic_space(range);
2953
1.87k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
1.87k
            SCN_UNLIKELY(!e)) {
2955
112
            return unexpected(e);
2956
112
        }
2957
2958
1.76k
        return it;
2959
1.87k
    }
2960
2961
0
    return read_while_classic_space(range);
2962
1.87k
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
730
{
2951
730
    if (!allow_exhaustion) {
2952
730
        auto it = read_while_classic_space(range);
2953
730
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
730
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
730
        return it;
2959
730
    }
2960
2961
0
    return read_while_classic_space(range);
2962
730
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
2963
2964
template <typename SourceCharT, typename DestCharT>
2965
scan_error transcode_impl(std::basic_string_view<SourceCharT> src,
2966
                          std::basic_string<DestCharT>& dst)
2967
2.69k
{
2968
2.69k
    dst.clear();
2969
2.69k
    transcode_valid_to_string(src, dst);
2970
2.69k
    return {};
2971
2.69k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2967
1.96k
{
2968
1.96k
    dst.clear();
2969
1.96k
    transcode_valid_to_string(src, dst);
2970
1.96k
    return {};
2971
1.96k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2967
726
{
2968
726
    dst.clear();
2969
726
    transcode_valid_to_string(src, dst);
2970
726
    return {};
2971
726
}
2972
2973
template <typename SourceCharT, typename DestCharT>
2974
scan_error transcode_if_necessary(
2975
    const contiguous_range_factory<SourceCharT>& source,
2976
    std::basic_string<DestCharT>& dest)
2977
{
2978
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2979
        dest.assign(source.view());
2980
    }
2981
    else {
2982
        return transcode_impl(source.view(), dest);
2983
    }
2984
2985
    return {};
2986
}
2987
2988
template <typename SourceCharT, typename DestCharT>
2989
scan_error transcode_if_necessary(
2990
    contiguous_range_factory<SourceCharT>&& source,
2991
    std::basic_string<DestCharT>& dest)
2992
768
{
2993
768
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
384
        if (source.stores_allocated_string()) {
2995
384
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
384
        }
2997
0
        else {
2998
0
            dest.assign(source.view());
2999
0
        }
3000
384
    }
3001
384
    else {
3002
384
        return transcode_impl(source.view(), dest);
3003
384
    }
3004
3005
0
    return {};
3006
768
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
318
{
2993
318
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
318
        if (source.stores_allocated_string()) {
2995
318
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
318
        }
2997
0
        else {
2998
0
            dest.assign(source.view());
2999
0
        }
3000
318
    }
3001
318
    else {
3002
318
        return transcode_impl(source.view(), dest);
3003
318
    }
3004
3005
318
    return {};
3006
318
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
318
{
2993
318
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
318
        if (source.stores_allocated_string()) {
2995
318
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
318
        }
2997
318
        else {
2998
318
            dest.assign(source.view());
2999
318
        }
3000
318
    }
3001
318
    else {
3002
318
        return transcode_impl(source.view(), dest);
3003
318
    }
3004
3005
0
    return {};
3006
318
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
66
{
2993
66
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
66
        if (source.stores_allocated_string()) {
2995
66
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
66
        }
2997
66
        else {
2998
66
            dest.assign(source.view());
2999
66
        }
3000
66
    }
3001
66
    else {
3002
66
        return transcode_impl(source.view(), dest);
3003
66
    }
3004
3005
0
    return {};
3006
66
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
66
{
2993
66
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
66
        if (source.stores_allocated_string()) {
2995
66
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
66
        }
2997
0
        else {
2998
0
            dest.assign(source.view());
2999
0
        }
3000
66
    }
3001
66
    else {
3002
66
        return transcode_impl(source.view(), dest);
3003
66
    }
3004
3005
66
    return {};
3006
66
}
3007
3008
template <typename SourceCharT, typename DestCharT>
3009
scan_error transcode_if_necessary(string_view_wrapper<SourceCharT> source,
3010
                                  std::basic_string<DestCharT>& dest)
3011
4.61k
{
3012
4.61k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
2.30k
        dest.assign(source.view());
3014
2.30k
    }
3015
2.30k
    else {
3016
2.30k
        return transcode_impl(source.view(), dest);
3017
2.30k
    }
3018
3019
0
    return {};
3020
4.61k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
1.64k
{
3012
1.64k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
1.64k
        dest.assign(source.view());
3014
1.64k
    }
3015
1.64k
    else {
3016
1.64k
        return transcode_impl(source.view(), dest);
3017
1.64k
    }
3018
3019
1.64k
    return {};
3020
1.64k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
1.64k
{
3012
1.64k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
1.64k
        dest.assign(source.view());
3014
1.64k
    }
3015
1.64k
    else {
3016
1.64k
        return transcode_impl(source.view(), dest);
3017
1.64k
    }
3018
3019
0
    return {};
3020
1.64k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
660
{
3012
660
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
660
        dest.assign(source.view());
3014
660
    }
3015
660
    else {
3016
660
        return transcode_impl(source.view(), dest);
3017
660
    }
3018
3019
0
    return {};
3020
660
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
660
{
3012
660
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
660
        dest.assign(source.view());
3014
660
    }
3015
660
    else {
3016
660
        return transcode_impl(source.view(), dest);
3017
660
    }
3018
3019
660
    return {};
3020
660
}
3021
3022
/////////////////////////////////////////////////////////////////
3023
// Reader base classes etc.
3024
/////////////////////////////////////////////////////////////////
3025
3026
template <typename Derived, typename CharT>
3027
class reader_base {
3028
public:
3029
    using char_type = CharT;
3030
3031
    constexpr reader_base() = default;
3032
3033
    bool skip_ws_before_read() const
3034
8.59k
    {
3035
8.59k
        return true;
3036
8.59k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
2.30k
    {
3035
2.30k
        return true;
3036
2.30k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
1.16k
    {
3035
1.16k
        return true;
3036
1.16k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
1.87k
    {
3035
1.87k
        return true;
3036
1.87k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
922
    {
3035
922
        return true;
3036
922
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
1.33k
    {
3035
1.33k
        return true;
3036
1.33k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
1.00k
    {
3035
1.00k
        return true;
3036
1.00k
    }
3037
3038
    scan_error check_specs(const detail::format_specs& specs)
3039
49.3k
    {
3040
49.3k
        reader_error_handler eh{};
3041
49.3k
        get_derived().check_specs_impl(specs, eh);
3042
49.3k
        if (SCN_UNLIKELY(!eh)) {
3043
24.7k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
24.7k
        }
3045
24.6k
        return {};
3046
49.3k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
10.3k
    {
3040
10.3k
        reader_error_handler eh{};
3041
10.3k
        get_derived().check_specs_impl(specs, eh);
3042
10.3k
        if (SCN_UNLIKELY(!eh)) {
3043
9.30k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
9.30k
        }
3045
1.05k
        return {};
3046
10.3k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.17k
    {
3040
5.17k
        reader_error_handler eh{};
3041
5.17k
        get_derived().check_specs_impl(specs, eh);
3042
5.17k
        if (SCN_UNLIKELY(!eh)) {
3043
4.63k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.63k
        }
3045
538
        return {};
3046
5.17k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
15.4k
    {
3040
15.4k
        reader_error_handler eh{};
3041
15.4k
        get_derived().check_specs_impl(specs, eh);
3042
15.4k
        if (SCN_UNLIKELY(!eh)) {
3043
372
            return {scan_error::invalid_format_string, eh.m_msg};
3044
372
        }
3045
15.0k
        return {};
3046
15.4k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.78k
    {
3040
3.78k
        reader_error_handler eh{};
3041
3.78k
        get_derived().check_specs_impl(specs, eh);
3042
3.78k
        if (SCN_UNLIKELY(!eh)) {
3043
2.88k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
2.88k
        }
3045
900
        return {};
3046
3.78k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
1.89k
    {
3040
1.89k
        reader_error_handler eh{};
3041
1.89k
        get_derived().check_specs_impl(specs, eh);
3042
1.89k
        if (SCN_UNLIKELY(!eh)) {
3043
1.45k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
1.45k
        }
3045
436
        return {};
3046
1.89k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.59k
    {
3040
5.59k
        reader_error_handler eh{};
3041
5.59k
        get_derived().check_specs_impl(specs, eh);
3042
5.59k
        if (SCN_UNLIKELY(!eh)) {
3043
210
            return {scan_error::invalid_format_string, eh.m_msg};
3044
210
        }
3045
5.38k
        return {};
3046
5.59k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.17k
    {
3040
5.17k
        reader_error_handler eh{};
3041
5.17k
        get_derived().check_specs_impl(specs, eh);
3042
5.17k
        if (SCN_UNLIKELY(!eh)) {
3043
4.47k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.47k
        }
3045
706
        return {};
3046
5.17k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
1.89k
    {
3040
1.89k
        reader_error_handler eh{};
3041
1.89k
        get_derived().check_specs_impl(specs, eh);
3042
1.89k
        if (SCN_UNLIKELY(!eh)) {
3043
1.37k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
1.37k
        }
3045
516
        return {};
3046
1.89k
    }
3047
3048
private:
3049
    Derived& get_derived()
3050
49.3k
    {
3051
49.3k
        return static_cast<Derived&>(*this);
3052
49.3k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3050
10.3k
    {
3051
10.3k
        return static_cast<Derived&>(*this);
3052
10.3k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3050
5.17k
    {
3051
5.17k
        return static_cast<Derived&>(*this);
3052
5.17k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3050
15.4k
    {
3051
15.4k
        return static_cast<Derived&>(*this);
3052
15.4k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
3.78k
    {
3051
3.78k
        return static_cast<Derived&>(*this);
3052
3.78k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
1.89k
    {
3051
1.89k
        return static_cast<Derived&>(*this);
3052
1.89k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
5.59k
    {
3051
5.59k
        return static_cast<Derived&>(*this);
3052
5.59k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3050
5.17k
    {
3051
5.17k
        return static_cast<Derived&>(*this);
3052
5.17k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
1.89k
    {
3051
1.89k
        return static_cast<Derived&>(*this);
3052
1.89k
    }
3053
    const Derived& get_derived() const
3054
    {
3055
        return static_cast<const Derived&>(*this);
3056
    }
3057
};
3058
3059
template <typename CharT>
3060
class reader_impl_for_monostate {
3061
public:
3062
    constexpr reader_impl_for_monostate() = default;
3063
3064
    bool skip_ws_before_read() const
3065
0
    {
3066
0
        return true;
3067
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3068
3069
    static scan_error check_specs(const detail::format_specs&)
3070
0
    {
3071
0
        SCN_EXPECT(false);
3072
0
        SCN_UNREACHABLE;
3073
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::check_specs(scn::v3::detail::format_specs const&)
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
3074
3075
    template <typename Range>
3076
    auto read_default(Range, monostate&, detail::locale_ref)
3077
        -> scan_expected<ranges::const_iterator_t<Range>>
3078
0
    {
3079
0
        SCN_EXPECT(false);
3080
0
        SCN_UNREACHABLE;
3081
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3082
3083
    template <typename Range>
3084
    auto read_specs(Range,
3085
                    const detail::format_specs&,
3086
                    monostate&,
3087
                    detail::locale_ref)
3088
        -> scan_expected<ranges::const_iterator_t<Range>>
3089
0
    {
3090
0
        SCN_EXPECT(false);
3091
0
        SCN_UNREACHABLE;
3092
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3093
};
3094
3095
/////////////////////////////////////////////////////////////////
3096
// Numeric reader support
3097
/////////////////////////////////////////////////////////////////
3098
3099
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3100
3101
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3102
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3103
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3104
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3105
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3106
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3107
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3108
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3109
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3110
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3111
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3112
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3113
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3114
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3115
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3116
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3117
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3118
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3119
    255};
3120
3121
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3122
14.4k
{
3123
14.4k
    return char_to_int_table[static_cast<unsigned char>(ch)];
3124
14.4k
}
3125
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3126
6.49k
{
3127
6.49k
#if WCHAR_MIN < 0
3128
6.49k
    if (ch >= 0 && ch <= 255) {
3129
#else
3130
    if (ch <= 255) {
3131
#endif
3132
6.49k
        return char_to_int(static_cast<char>(ch));
3133
6.49k
    }
3134
0
    return 255;
3135
6.49k
}
3136
3137
template <typename Range>
3138
auto parse_numeric_sign(Range range)
3139
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3140
8.23k
{
3141
8.23k
    auto r = read_one_of_code_unit(range, "+-");
3142
8.23k
    if (!r) {
3143
8.23k
        if (r.error() == parse_error::error) {
3144
8.23k
            return std::pair{range.begin(), sign_type::default_sign};
3145
8.23k
        }
3146
0
        return unexpected(eof_error::eof);
3147
8.23k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
1.07k
{
3141
1.07k
    auto r = read_one_of_code_unit(range, "+-");
3142
1.07k
    if (!r) {
3143
1.07k
        if (r.error() == parse_error::error) {
3144
1.07k
            return std::pair{range.begin(), sign_type::default_sign};
3145
1.07k
        }
3146
0
        return unexpected(eof_error::eof);
3147
1.07k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
3.44k
{
3141
3.44k
    auto r = read_one_of_code_unit(range, "+-");
3142
3.44k
    if (!r) {
3143
3.44k
        if (r.error() == parse_error::error) {
3144
3.44k
            return std::pair{range.begin(), sign_type::default_sign};
3145
3.44k
        }
3146
0
        return unexpected(eof_error::eof);
3147
3.44k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
486
{
3141
486
    auto r = read_one_of_code_unit(range, "+-");
3142
486
    if (!r) {
3143
486
        if (r.error() == parse_error::error) {
3144
486
            return std::pair{range.begin(), sign_type::default_sign};
3145
486
        }
3146
0
        return unexpected(eof_error::eof);
3147
486
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
3.22k
{
3141
3.22k
    auto r = read_one_of_code_unit(range, "+-");
3142
3.22k
    if (!r) {
3143
3.22k
        if (r.error() == parse_error::error) {
3144
3.22k
            return std::pair{range.begin(), sign_type::default_sign};
3145
3.22k
        }
3146
0
        return unexpected(eof_error::eof);
3147
3.22k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
3155
3156
inline void transform_thsep_indices(std::string& indices,
3157
                                    std::ptrdiff_t last_thsep_index)
3158
0
{
3159
0
    for (auto thsep_it = indices.rbegin(); thsep_it != indices.rend();
3160
0
         ++thsep_it) {
3161
0
        const auto tmp = *thsep_it;
3162
0
        *thsep_it = static_cast<char>(last_thsep_index - tmp - 1);
3163
0
        last_thsep_index = static_cast<std::ptrdiff_t>(tmp);
3164
0
    }
3165
0
    indices.insert(indices.begin(), static_cast<char>(last_thsep_index));
3166
0
}
3167
3168
template <typename Range>
3169
bool check_thsep_grouping_impl(Range range,
3170
                               std::string& thsep_indices,
3171
                               std::string_view grouping)
3172
0
{
3173
0
    transform_thsep_indices(thsep_indices,
3174
0
                            ranges::distance(range.begin(), range.end()));
3175
3176
0
    auto thsep_it = thsep_indices.rbegin();
3177
0
    for (auto grouping_it = grouping.begin();
3178
0
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
0
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
0
    SCN_CLANG_PUSH
3186
    // false positive
3187
0
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
0
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
0
        if (*thsep_it != grouping.back()) {
3191
0
            return false;
3192
0
        }
3193
0
    }
3194
3195
0
    if (thsep_it == thsep_indices.rend() - 1) {
3196
0
        if (*thsep_it > grouping.back()) {
3197
0
            return false;
3198
0
        }
3199
0
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
0
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
3205
3206
template <typename Range>
3207
scan_error check_thsep_grouping(Range range,
3208
                                std::string thsep_indices,
3209
                                std::string_view grouping)
3210
0
{
3211
0
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
0
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
0
        SCN_UNLIKELY_ATTR
3215
0
        return {scan_error::invalid_scanned_value,
3216
0
                "Invalid thousands separator grouping"};
3217
0
    }
3218
3219
0
    return {};
3220
0
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
3221
3222
template <typename CharT>
3223
class numeric_reader {
3224
public:
3225
    contiguous_range_factory<CharT> m_buffer{};
3226
};
3227
3228
/////////////////////////////////////////////////////////////////
3229
// Integer reader
3230
/////////////////////////////////////////////////////////////////
3231
3232
template <typename Iterator>
3233
struct parse_integer_prefix_result {
3234
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3235
    int parsed_base{0};
3236
    sign_type sign{sign_type::default_sign};
3237
    bool is_zero{false};
3238
};
3239
3240
template <typename Range>
3241
auto parse_integer_bin_base_prefix(Range range)
3242
    -> parse_expected<ranges::const_iterator_t<Range>>
3243
92
{
3244
92
    return read_matching_string_classic_nocase(range, "0b");
3245
92
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
34
{
3244
34
    return read_matching_string_classic_nocase(range, "0b");
3245
34
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
18
{
3244
18
    return read_matching_string_classic_nocase(range, "0b");
3245
18
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
24
{
3244
24
    return read_matching_string_classic_nocase(range, "0b");
3245
24
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
16
{
3244
16
    return read_matching_string_classic_nocase(range, "0b");
3245
16
}
3246
3247
template <typename Range>
3248
auto parse_integer_hex_base_prefix(Range range)
3249
    -> parse_expected<ranges::const_iterator_t<Range>>
3250
2.06k
{
3251
2.06k
    return read_matching_string_classic_nocase(range, "0x");
3252
2.06k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
278
{
3251
278
    return read_matching_string_classic_nocase(range, "0x");
3252
278
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
854
{
3251
854
    return read_matching_string_classic_nocase(range, "0x");
3252
854
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
126
{
3251
126
    return read_matching_string_classic_nocase(range, "0x");
3252
126
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
804
{
3251
804
    return read_matching_string_classic_nocase(range, "0x");
3252
804
}
3253
3254
template <typename Range>
3255
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3256
    -> parse_expected<ranges::const_iterator_t<Range>>
3257
122
{
3258
122
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
122
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
122
    return unexpected(parse_error::error);
3268
122
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
34
{
3258
34
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
34
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
34
    return unexpected(parse_error::error);
3268
34
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
38
{
3258
38
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
38
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
38
    return unexpected(parse_error::error);
3268
38
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
30
{
3258
30
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
30
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
30
    return unexpected(parse_error::error);
3268
30
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
20
{
3258
20
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
20
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
20
    return unexpected(parse_error::error);
3268
20
}
3269
3270
template <typename Range>
3271
auto parse_integer_base_prefix_for_detection(Range range)
3272
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3273
60
{
3274
60
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
60
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
60
    {
3281
60
        bool zero_parsed{false};
3282
60
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
60
    }
3286
60
    return {range.begin(), 10, false};
3287
60
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
20
{
3274
20
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
20
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
20
    {
3281
20
        bool zero_parsed{false};
3282
20
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
20
    }
3286
20
    return {range.begin(), 10, false};
3287
20
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
12
{
3274
12
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
12
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
12
    {
3281
12
        bool zero_parsed{false};
3282
12
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
12
    }
3286
12
    return {range.begin(), 10, false};
3287
12
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
18
{
3274
18
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
18
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
18
    {
3281
18
        bool zero_parsed{false};
3282
18
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
18
    }
3286
18
    return {range.begin(), 10, false};
3287
18
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
10
{
3274
10
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
10
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
10
    {
3281
10
        bool zero_parsed{false};
3282
10
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
10
    }
3286
10
    return {range.begin(), 10, false};
3287
10
}
3288
3289
template <typename Range>
3290
auto parse_integer_base_prefix(Range range, int base)
3291
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3292
6.17k
{
3293
6.17k
    switch (base) {
3294
32
        case 2:
3295
            // allow 0b/0B
3296
32
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
32
                    false};
3298
3299
62
        case 8: {
3300
            // allow 0o/0O/0
3301
62
            bool zero_parsed = false;
3302
62
            auto it = apply_opt(
3303
62
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
62
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
2.00k
        case 16:
3308
            // allow 0x/0X
3309
2.00k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
2.00k
                    false};
3311
3312
60
        case 0:
3313
            // detect base
3314
60
            return parse_integer_base_prefix_for_detection(range);
3315
3316
4.01k
        default:
3317
            // no base prefix allowed
3318
4.01k
            return {range.begin(), base, false};
3319
6.17k
    }
3320
6.17k
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
812
{
3293
812
    switch (base) {
3294
14
        case 2:
3295
            // allow 0b/0B
3296
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
14
                    false};
3298
3299
14
        case 8: {
3300
            // allow 0o/0O/0
3301
14
            bool zero_parsed = false;
3302
14
            auto it = apply_opt(
3303
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
14
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
258
        case 16:
3308
            // allow 0x/0X
3309
258
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
258
                    false};
3311
3312
20
        case 0:
3313
            // detect base
3314
20
            return parse_integer_base_prefix_for_detection(range);
3315
3316
506
        default:
3317
            // no base prefix allowed
3318
506
            return {range.begin(), base, false};
3319
812
    }
3320
812
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
2.57k
{
3293
2.57k
    switch (base) {
3294
6
        case 2:
3295
            // allow 0b/0B
3296
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
6
                    false};
3298
3299
26
        case 8: {
3300
            // allow 0o/0O/0
3301
26
            bool zero_parsed = false;
3302
26
            auto it = apply_opt(
3303
26
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
26
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
842
        case 16:
3308
            // allow 0x/0X
3309
842
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
842
                    false};
3311
3312
12
        case 0:
3313
            // detect base
3314
12
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.68k
        default:
3317
            // no base prefix allowed
3318
1.68k
            return {range.begin(), base, false};
3319
2.57k
    }
3320
2.57k
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
370
{
3293
370
    switch (base) {
3294
6
        case 2:
3295
            // allow 0b/0B
3296
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
6
                    false};
3298
3299
12
        case 8: {
3300
            // allow 0o/0O/0
3301
12
            bool zero_parsed = false;
3302
12
            auto it = apply_opt(
3303
12
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
12
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
108
        case 16:
3308
            // allow 0x/0X
3309
108
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
108
                    false};
3311
3312
18
        case 0:
3313
            // detect base
3314
18
            return parse_integer_base_prefix_for_detection(range);
3315
3316
226
        default:
3317
            // no base prefix allowed
3318
226
            return {range.begin(), base, false};
3319
370
    }
3320
370
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
2.41k
{
3293
2.41k
    switch (base) {
3294
6
        case 2:
3295
            // allow 0b/0B
3296
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
6
                    false};
3298
3299
10
        case 8: {
3300
            // allow 0o/0O/0
3301
10
            bool zero_parsed = false;
3302
10
            auto it = apply_opt(
3303
10
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
10
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
794
        case 16:
3308
            // allow 0x/0X
3309
794
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
794
                    false};
3311
3312
10
        case 0:
3313
            // detect base
3314
10
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.59k
        default:
3317
            // no base prefix allowed
3318
1.59k
            return {range.begin(), base, false};
3319
2.41k
    }
3320
2.41k
}
3321
3322
template <typename Range>
3323
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3324
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3325
6.17k
{
3326
6.17k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
6.17k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
6.17k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
6.17k
        parse_integer_base_prefix(
3331
6.17k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
6.17k
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
6.17k
    else {
3343
6.17k
        if (digits_begin_it == range.end() ||
3344
6.17k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
6.17k
            digits_begin_it = base_prefix_begin_it;
3346
6.17k
        }
3347
6.17k
    }
3348
3349
6.17k
    if (sign == sign_type::default_sign) {
3350
6.17k
        sign = sign_type::plus_sign;
3351
6.17k
    }
3352
6.17k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
6.17k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
6.17k
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
812
{
3326
812
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
812
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
812
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
812
        parse_integer_base_prefix(
3331
812
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
812
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
812
    else {
3343
812
        if (digits_begin_it == range.end() ||
3344
812
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
812
            digits_begin_it = base_prefix_begin_it;
3346
812
        }
3347
812
    }
3348
3349
812
    if (sign == sign_type::default_sign) {
3350
812
        sign = sign_type::plus_sign;
3351
812
    }
3352
812
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
812
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
812
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
2.57k
{
3326
2.57k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.57k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.57k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.57k
        parse_integer_base_prefix(
3331
2.57k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.57k
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
2.57k
    else {
3343
2.57k
        if (digits_begin_it == range.end() ||
3344
2.57k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
2.57k
            digits_begin_it = base_prefix_begin_it;
3346
2.57k
        }
3347
2.57k
    }
3348
3349
2.57k
    if (sign == sign_type::default_sign) {
3350
2.57k
        sign = sign_type::plus_sign;
3351
2.57k
    }
3352
2.57k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.57k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.57k
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
370
{
3326
370
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
370
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
370
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
370
        parse_integer_base_prefix(
3331
370
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
370
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
370
    else {
3343
370
        if (digits_begin_it == range.end() ||
3344
370
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
370
            digits_begin_it = base_prefix_begin_it;
3346
370
        }
3347
370
    }
3348
3349
370
    if (sign == sign_type::default_sign) {
3350
370
        sign = sign_type::plus_sign;
3351
370
    }
3352
370
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
370
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
370
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
2.41k
{
3326
2.41k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.41k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.41k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.41k
        parse_integer_base_prefix(
3331
2.41k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.41k
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
2.41k
    else {
3343
2.41k
        if (digits_begin_it == range.end() ||
3344
2.41k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
2.41k
            digits_begin_it = base_prefix_begin_it;
3346
2.41k
        }
3347
2.41k
    }
3348
3349
2.41k
    if (sign == sign_type::default_sign) {
3350
2.41k
        sign = sign_type::plus_sign;
3351
2.41k
    }
3352
2.41k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.41k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.41k
}
3355
3356
template <typename Range>
3357
auto parse_integer_digits_without_thsep(Range range, int base)
3358
    -> scan_expected<ranges::const_iterator_t<Range>>
3359
6.09k
{
3360
6.09k
    using char_type = detail::char_t<Range>;
3361
3362
6.09k
    if constexpr (ranges::contiguous_range<Range>) {
3363
4.94k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
0
            return unexpected_scan_error(
3365
0
                scan_error::invalid_scanned_value,
3366
0
                "Failed to parse integer: No digits found");
3367
0
        }
3368
4.94k
        return range.end();
3369
4.94k
    }
3370
1.15k
    else {
3371
1.15k
        return read_while1_code_unit(range,
3372
1.15k
                                     [&](char_type ch) noexcept {
3373
1.15k
                                         return char_to_int(ch) < base;
3374
1.15k
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3372
796
                                     [&](char_type ch) noexcept {
3373
796
                                         return char_to_int(ch) < base;
3374
796
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3372
358
                                     [&](char_type ch) noexcept {
3373
358
                                         return char_to_int(ch) < base;
3374
358
                                     })
3375
1.15k
            .transform_error(map_parse_error_to_scan_error(
3376
1.15k
                scan_error::invalid_scanned_value,
3377
1.15k
                "Failed to parse integer: No digits found"));
3378
1.15k
    }
3379
6.09k
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
796
{
3360
796
    using char_type = detail::char_t<Range>;
3361
3362
796
    if constexpr (ranges::contiguous_range<Range>) {
3363
796
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
796
            return unexpected_scan_error(
3365
796
                scan_error::invalid_scanned_value,
3366
796
                "Failed to parse integer: No digits found");
3367
796
        }
3368
796
        return range.end();
3369
796
    }
3370
796
    else {
3371
796
        return read_while1_code_unit(range,
3372
796
                                     [&](char_type ch) noexcept {
3373
796
                                         return char_to_int(ch) < base;
3374
796
                                     })
3375
796
            .transform_error(map_parse_error_to_scan_error(
3376
796
                scan_error::invalid_scanned_value,
3377
796
                "Failed to parse integer: No digits found"));
3378
796
    }
3379
796
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
2.55k
{
3360
2.55k
    using char_type = detail::char_t<Range>;
3361
3362
2.55k
    if constexpr (ranges::contiguous_range<Range>) {
3363
2.55k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
0
            return unexpected_scan_error(
3365
0
                scan_error::invalid_scanned_value,
3366
0
                "Failed to parse integer: No digits found");
3367
0
        }
3368
2.55k
        return range.end();
3369
2.55k
    }
3370
2.55k
    else {
3371
2.55k
        return read_while1_code_unit(range,
3372
2.55k
                                     [&](char_type ch) noexcept {
3373
2.55k
                                         return char_to_int(ch) < base;
3374
2.55k
                                     })
3375
2.55k
            .transform_error(map_parse_error_to_scan_error(
3376
2.55k
                scan_error::invalid_scanned_value,
3377
2.55k
                "Failed to parse integer: No digits found"));
3378
2.55k
    }
3379
2.55k
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
358
{
3360
358
    using char_type = detail::char_t<Range>;
3361
3362
358
    if constexpr (ranges::contiguous_range<Range>) {
3363
358
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
358
            return unexpected_scan_error(
3365
358
                scan_error::invalid_scanned_value,
3366
358
                "Failed to parse integer: No digits found");
3367
358
        }
3368
358
        return range.end();
3369
358
    }
3370
358
    else {
3371
358
        return read_while1_code_unit(range,
3372
358
                                     [&](char_type ch) noexcept {
3373
358
                                         return char_to_int(ch) < base;
3374
358
                                     })
3375
358
            .transform_error(map_parse_error_to_scan_error(
3376
358
                scan_error::invalid_scanned_value,
3377
358
                "Failed to parse integer: No digits found"));
3378
358
    }
3379
358
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
2.39k
{
3360
2.39k
    using char_type = detail::char_t<Range>;
3361
3362
2.39k
    if constexpr (ranges::contiguous_range<Range>) {
3363
2.39k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
0
            return unexpected_scan_error(
3365
0
                scan_error::invalid_scanned_value,
3366
0
                "Failed to parse integer: No digits found");
3367
0
        }
3368
2.39k
        return range.end();
3369
2.39k
    }
3370
2.39k
    else {
3371
2.39k
        return read_while1_code_unit(range,
3372
2.39k
                                     [&](char_type ch) noexcept {
3373
2.39k
                                         return char_to_int(ch) < base;
3374
2.39k
                                     })
3375
2.39k
            .transform_error(map_parse_error_to_scan_error(
3376
2.39k
                scan_error::invalid_scanned_value,
3377
2.39k
                "Failed to parse integer: No digits found"));
3378
2.39k
    }
3379
2.39k
}
3380
3381
template <typename Range, typename CharT>
3382
auto parse_integer_digits_with_thsep(
3383
    Range range,
3384
    int base,
3385
    const localized_number_formatting_options<CharT>& locale_options)
3386
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3387
                                std::basic_string<CharT>,
3388
                                std::string>>
3389
76
{
3390
76
    std::basic_string<CharT> output;
3391
76
    std::string thsep_indices;
3392
76
    auto it = range.begin();
3393
76
    bool digit_matched = false;
3394
76
    for (; it != range.end(); ++it) {
3395
76
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
76
        else if (char_to_int(*it) >= base) {
3400
76
            break;
3401
76
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
76
    }
3407
76
    if (SCN_UNLIKELY(!digit_matched)) {
3408
76
        return unexpected_scan_error(
3409
76
            scan_error::invalid_scanned_value,
3410
76
            "Failed to parse integer: No digits found");
3411
76
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
76
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
16
{
3390
16
    std::basic_string<CharT> output;
3391
16
    std::string thsep_indices;
3392
16
    auto it = range.begin();
3393
16
    bool digit_matched = false;
3394
16
    for (; it != range.end(); ++it) {
3395
16
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
16
        else if (char_to_int(*it) >= base) {
3400
16
            break;
3401
16
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
16
    }
3407
16
    if (SCN_UNLIKELY(!digit_matched)) {
3408
16
        return unexpected_scan_error(
3409
16
            scan_error::invalid_scanned_value,
3410
16
            "Failed to parse integer: No digits found");
3411
16
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
16
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
20
{
3390
20
    std::basic_string<CharT> output;
3391
20
    std::string thsep_indices;
3392
20
    auto it = range.begin();
3393
20
    bool digit_matched = false;
3394
20
    for (; it != range.end(); ++it) {
3395
20
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
20
        else if (char_to_int(*it) >= base) {
3400
20
            break;
3401
20
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
20
    }
3407
20
    if (SCN_UNLIKELY(!digit_matched)) {
3408
20
        return unexpected_scan_error(
3409
20
            scan_error::invalid_scanned_value,
3410
20
            "Failed to parse integer: No digits found");
3411
20
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
20
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
12
{
3390
12
    std::basic_string<CharT> output;
3391
12
    std::string thsep_indices;
3392
12
    auto it = range.begin();
3393
12
    bool digit_matched = false;
3394
12
    for (; it != range.end(); ++it) {
3395
12
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
12
        else if (char_to_int(*it) >= base) {
3400
12
            break;
3401
12
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
12
    }
3407
12
    if (SCN_UNLIKELY(!digit_matched)) {
3408
12
        return unexpected_scan_error(
3409
12
            scan_error::invalid_scanned_value,
3410
12
            "Failed to parse integer: No digits found");
3411
12
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
12
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
28
{
3390
28
    std::basic_string<CharT> output;
3391
28
    std::string thsep_indices;
3392
28
    auto it = range.begin();
3393
28
    bool digit_matched = false;
3394
28
    for (; it != range.end(); ++it) {
3395
28
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
28
        else if (char_to_int(*it) >= base) {
3400
28
            break;
3401
28
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
28
    }
3407
28
    if (SCN_UNLIKELY(!digit_matched)) {
3408
28
        return unexpected_scan_error(
3409
28
            scan_error::invalid_scanned_value,
3410
28
            "Failed to parse integer: No digits found");
3411
28
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
28
}
3414
3415
template <typename CharT, typename T>
3416
auto parse_integer_value(std::basic_string_view<CharT> source,
3417
                         T& value,
3418
                         sign_type sign,
3419
                         int base)
3420
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3421
3422
template <typename T>
3423
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3424
3425
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3426
    extern template auto parse_integer_value(                               \
3427
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3428
        int base)                                                           \
3429
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3430
    extern template void parse_integer_value_exhaustive_valid(              \
3431
        std::string_view, IntT&);
3432
3433
#if !SCN_DISABLE_TYPE_SCHAR
3434
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3435
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3436
#endif
3437
#if !SCN_DISABLE_TYPE_SHORT
3438
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3439
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3440
#endif
3441
#if !SCN_DISABLE_TYPE_INT
3442
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3443
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3444
#endif
3445
#if !SCN_DISABLE_TYPE_LONG
3446
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3447
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3448
#endif
3449
#if !SCN_DISABLE_TYPE_LONG_LONG
3450
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3451
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3452
#endif
3453
#if !SCN_DISABLE_TYPE_UCHAR
3454
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3455
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3456
#endif
3457
#if !SCN_DISABLE_TYPE_USHORT
3458
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3459
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3460
#endif
3461
#if !SCN_DISABLE_TYPE_UINT
3462
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3463
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3464
#endif
3465
#if !SCN_DISABLE_TYPE_ULONG
3466
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3467
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3468
#endif
3469
#if !SCN_DISABLE_TYPE_ULONG_LONG
3470
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3471
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3472
#endif
3473
3474
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3475
3476
template <typename CharT>
3477
class reader_impl_for_int
3478
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3479
public:
3480
    constexpr reader_impl_for_int() = default;
3481
3482
    void check_specs_impl(const detail::format_specs& specs,
3483
                          reader_error_handler& eh)
3484
14.1k
    {
3485
14.1k
        detail::check_int_type_specs(specs, eh);
3486
14.1k
    }
scn::v3::impl::reader_impl_for_int<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
10.3k
    {
3485
10.3k
        detail::check_int_type_specs(specs, eh);
3486
10.3k
    }
scn::v3::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
3.78k
    {
3485
3.78k
        detail::check_int_type_specs(specs, eh);
3486
3.78k
    }
3487
3488
    template <typename Range, typename T>
3489
    auto read_default_with_base(Range range, T& value, int base)
3490
        -> scan_expected<ranges::const_iterator_t<Range>>
3491
2.22k
    {
3492
2.22k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
2.22k
                                   .transform_error(make_eof_scan_error));
3494
3495
2.22k
        if constexpr (!std::is_signed_v<T>) {
3496
1.11k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
0
                return unexpected_scan_error(
3498
0
                    scan_error::invalid_scanned_value,
3499
0
                    "Unexpected '-' sign when parsing an "
3500
0
                    "unsigned value");
3501
0
            }
3502
1.11k
        }
3503
3504
2.22k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
4.44k
        SCN_TRY(after_digits_it,
3510
4.44k
                parse_integer_digits_without_thsep(
3511
4.44k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
4.44k
                    prefix_result.parsed_base));
3513
3514
4.44k
        auto buf = make_contiguous_buffer(
3515
4.44k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
4.44k
        SCN_TRY(result_it,
3517
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
0
                                    prefix_result.parsed_base));
3519
3520
0
        return ranges::next(prefix_result.iterator,
3521
0
                            ranges::distance(buf.view().begin(), result_it));
3522
4.44k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
486
    {
3492
486
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
486
                                   .transform_error(make_eof_scan_error));
3494
3495
486
        if constexpr (!std::is_signed_v<T>) {
3496
486
            if (prefix_result.sign == sign_type::minus_sign) {
3497
486
                return unexpected_scan_error(
3498
486
                    scan_error::invalid_scanned_value,
3499
486
                    "Unexpected '-' sign when parsing an "
3500
486
                    "unsigned value");
3501
486
            }
3502
486
        }
3503
3504
486
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
972
        SCN_TRY(after_digits_it,
3510
972
                parse_integer_digits_without_thsep(
3511
972
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
972
                    prefix_result.parsed_base));
3513
3514
972
        auto buf = make_contiguous_buffer(
3515
972
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
972
        SCN_TRY(result_it,
3517
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
0
                                    prefix_result.parsed_base));
3519
3520
0
        return ranges::next(prefix_result.iterator,
3521
0
                            ranges::distance(buf.view().begin(), result_it));
3522
972
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
486
    {
3492
486
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
486
                                   .transform_error(make_eof_scan_error));
3494
3495
486
        if constexpr (!std::is_signed_v<T>) {
3496
486
            if (prefix_result.sign == sign_type::minus_sign) {
3497
0
                return unexpected_scan_error(
3498
0
                    scan_error::invalid_scanned_value,
3499
0
                    "Unexpected '-' sign when parsing an "
3500
0
                    "unsigned value");
3501
0
            }
3502
486
        }
3503
3504
486
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
972
        SCN_TRY(after_digits_it,
3510
972
                parse_integer_digits_without_thsep(
3511
972
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
972
                    prefix_result.parsed_base));
3513
3514
972
        auto buf = make_contiguous_buffer(
3515
972
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
972
        SCN_TRY(result_it,
3517
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
0
                                    prefix_result.parsed_base));
3519
3520
0
        return ranges::next(prefix_result.iterator,
3521
0
                            ranges::distance(buf.view().begin(), result_it));
3522
972
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
626
    {
3492
626
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
626
                                   .transform_error(make_eof_scan_error));
3494
3495
626
        if constexpr (!std::is_signed_v<T>) {
3496
626
            if (prefix_result.sign == sign_type::minus_sign) {
3497
626
                return unexpected_scan_error(
3498
626
                    scan_error::invalid_scanned_value,
3499
626
                    "Unexpected '-' sign when parsing an "
3500
626
                    "unsigned value");
3501
626
            }
3502
626
        }
3503
3504
626
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
1.25k
        SCN_TRY(after_digits_it,
3510
1.25k
                parse_integer_digits_without_thsep(
3511
1.25k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
1.25k
                    prefix_result.parsed_base));
3513
3514
1.25k
        auto buf = make_contiguous_buffer(
3515
1.25k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
1.25k
        SCN_TRY(result_it,
3517
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
0
                                    prefix_result.parsed_base));
3519
3520
0
        return ranges::next(prefix_result.iterator,
3521
0
                            ranges::distance(buf.view().begin(), result_it));
3522
1.25k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
626
    {
3492
626
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
626
                                   .transform_error(make_eof_scan_error));
3494
3495
626
        if constexpr (!std::is_signed_v<T>) {
3496
626
            if (prefix_result.sign == sign_type::minus_sign) {
3497
0
                return unexpected_scan_error(
3498
0
                    scan_error::invalid_scanned_value,
3499
0
                    "Unexpected '-' sign when parsing an "
3500
0
                    "unsigned value");
3501
0
            }
3502
626
        }
3503
3504
626
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
1.25k
        SCN_TRY(after_digits_it,
3510
1.25k
                parse_integer_digits_without_thsep(
3511
1.25k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
1.25k
                    prefix_result.parsed_base));
3513
3514
1.25k
        auto buf = make_contiguous_buffer(
3515
1.25k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
1.25k
        SCN_TRY(result_it,
3517
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
0
                                    prefix_result.parsed_base));
3519
3520
0
        return ranges::next(prefix_result.iterator,
3521
0
                            ranges::distance(buf.view().begin(), result_it));
3522
1.25k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3523
3524
    template <typename Range, typename T>
3525
    auto read_default(Range range, T& value, detail::locale_ref loc)
3526
        -> scan_expected<ranges::const_iterator_t<Range>>
3527
2.22k
    {
3528
2.22k
        SCN_UNUSED(loc);
3529
2.22k
        return read_default_with_base(range, value, 10);
3530
2.22k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
626
    {
3528
626
        SCN_UNUSED(loc);
3529
626
        return read_default_with_base(range, value, 10);
3530
626
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
626
    {
3528
626
        SCN_UNUSED(loc);
3529
626
        return read_default_with_base(range, value, 10);
3530
626
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
486
    {
3528
486
        SCN_UNUSED(loc);
3529
486
        return read_default_with_base(range, value, 10);
3530
486
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
486
    {
3528
486
        SCN_UNUSED(loc);
3529
486
        return read_default_with_base(range, value, 10);
3530
486
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3531
3532
    template <typename Range, typename T>
3533
    auto read_specs(Range range,
3534
                    const detail::format_specs& specs,
3535
                    T& value,
3536
                    detail::locale_ref loc)
3537
        -> scan_expected<ranges::const_iterator_t<Range>>
3538
3.95k
    {
3539
3.95k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
3.95k
                                   .transform_error(make_eof_scan_error));
3541
3542
3.95k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
3.95k
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
3.95k
        if (SCN_LIKELY(!specs.localized)) {
3565
3.87k
            SCN_TRY(after_digits_it,
3566
2.72k
                    parse_integer_digits_without_thsep(
3567
2.72k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
2.72k
                        prefix_result.parsed_base));
3569
3570
2.72k
            auto buf = make_contiguous_buffer(
3571
2.72k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
2.72k
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
2.72k
        }
3580
3581
76
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
76
            localized_number_formatting_options<CharT>{loc};
3586
76
#endif
3587
3588
76
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
32
    {
3539
32
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
32
                                   .transform_error(make_eof_scan_error));
3541
3542
32
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
32
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
32
        if (SCN_LIKELY(!specs.localized)) {
3565
32
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
18
    {
3539
18
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
18
                                   .transform_error(make_eof_scan_error));
3541
3542
18
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
18
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
18
        if (SCN_LIKELY(!specs.localized)) {
3565
18
            SCN_TRY(after_digits_it,
3566
18
                    parse_integer_digits_without_thsep(
3567
18
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
18
                        prefix_result.parsed_base));
3569
3570
18
            auto buf = make_contiguous_buffer(
3571
18
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
18
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
18
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
270
    {
3539
270
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
270
                                   .transform_error(make_eof_scan_error));
3541
3542
270
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
270
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
270
        if (SCN_LIKELY(!specs.localized)) {
3565
262
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
8
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
8
            localized_number_formatting_options<CharT>{loc};
3586
8
#endif
3587
3588
8
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
234
    {
3539
234
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
234
                                   .transform_error(make_eof_scan_error));
3541
3542
234
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
234
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
234
        if (SCN_LIKELY(!specs.localized)) {
3565
224
            SCN_TRY(after_digits_it,
3566
224
                    parse_integer_digits_without_thsep(
3567
224
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
224
                        prefix_result.parsed_base));
3569
3570
224
            auto buf = make_contiguous_buffer(
3571
224
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
224
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
224
        }
3580
3581
10
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
10
            localized_number_formatting_options<CharT>{loc};
3586
10
#endif
3587
3588
10
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
270
    {
3539
270
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
270
                                   .transform_error(make_eof_scan_error));
3541
3542
270
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
270
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
270
        if (SCN_LIKELY(!specs.localized)) {
3565
262
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
8
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
8
            localized_number_formatting_options<CharT>{loc};
3586
8
#endif
3587
3588
8
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
234
    {
3539
234
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
234
                                   .transform_error(make_eof_scan_error));
3541
3542
234
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
234
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
234
        if (SCN_LIKELY(!specs.localized)) {
3565
224
            SCN_TRY(after_digits_it,
3566
224
                    parse_integer_digits_without_thsep(
3567
224
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
224
                        prefix_result.parsed_base));
3569
3570
224
            auto buf = make_contiguous_buffer(
3571
224
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
224
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
224
        }
3580
3581
10
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
10
            localized_number_formatting_options<CharT>{loc};
3586
10
#endif
3587
3588
10
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
240
    {
3539
240
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
240
                                   .transform_error(make_eof_scan_error));
3541
3542
240
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
240
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
240
        if (SCN_LIKELY(!specs.localized)) {
3565
240
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
836
    {
3539
836
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
836
                                   .transform_error(make_eof_scan_error));
3541
3542
836
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
836
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
836
        if (SCN_LIKELY(!specs.localized)) {
3565
836
            SCN_TRY(after_digits_it,
3566
836
                    parse_integer_digits_without_thsep(
3567
836
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
836
                        prefix_result.parsed_base));
3569
3570
836
            auto buf = make_contiguous_buffer(
3571
836
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
836
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
836
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
144
    {
3539
144
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
144
                                   .transform_error(make_eof_scan_error));
3541
3542
144
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
144
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
144
        if (SCN_LIKELY(!specs.localized)) {
3565
138
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
6
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
6
            localized_number_formatting_options<CharT>{loc};
3586
6
#endif
3587
3588
6
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
338
    {
3539
338
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
338
                                   .transform_error(make_eof_scan_error));
3541
3542
338
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
338
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
338
        if (SCN_LIKELY(!specs.localized)) {
3565
324
            SCN_TRY(after_digits_it,
3566
324
                    parse_integer_digits_without_thsep(
3567
324
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
324
                        prefix_result.parsed_base));
3569
3570
324
            auto buf = make_contiguous_buffer(
3571
324
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
324
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
324
        }
3580
3581
14
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
14
            localized_number_formatting_options<CharT>{loc};
3586
14
#endif
3587
3588
14
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
124
    {
3539
124
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
124
                                   .transform_error(make_eof_scan_error));
3541
3542
124
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
124
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
124
        if (SCN_LIKELY(!specs.localized)) {
3565
118
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
6
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
6
            localized_number_formatting_options<CharT>{loc};
3586
6
#endif
3587
3588
6
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
324
    {
3539
324
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
324
                                   .transform_error(make_eof_scan_error));
3541
3542
324
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
324
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
324
        if (SCN_LIKELY(!specs.localized)) {
3565
310
            SCN_TRY(after_digits_it,
3566
310
                    parse_integer_digits_without_thsep(
3567
310
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
310
                        prefix_result.parsed_base));
3569
3570
310
            auto buf = make_contiguous_buffer(
3571
310
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
310
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
310
        }
3580
3581
14
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
14
            localized_number_formatting_options<CharT>{loc};
3586
14
#endif
3587
3588
14
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
102
    {
3539
102
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
102
                                   .transform_error(make_eof_scan_error));
3541
3542
102
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
102
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
102
        if (SCN_LIKELY(!specs.localized)) {
3565
102
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
784
    {
3539
784
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
784
                                   .transform_error(make_eof_scan_error));
3541
3542
784
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
784
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
784
        if (SCN_LIKELY(!specs.localized)) {
3565
784
            SCN_TRY(after_digits_it,
3566
784
                    parse_integer_digits_without_thsep(
3567
784
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
784
                        prefix_result.parsed_base));
3569
3570
784
            auto buf = make_contiguous_buffer(
3571
784
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
784
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
784
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
3616
};
3617
3618
/////////////////////////////////////////////////////////////////
3619
// Floating-point reader
3620
/////////////////////////////////////////////////////////////////
3621
3622
struct float_reader_base {
3623
    enum options_type {
3624
        allow_hex = 1,
3625
        allow_scientific = 2,
3626
        allow_fixed = 4,
3627
        allow_thsep = 8
3628
    };
3629
3630
    enum class float_kind {
3631
        tbd = 0,
3632
        generic,             // fixed or scientific
3633
        fixed,               // xxx.yyy
3634
        scientific,          // xxx.yyyEzzz
3635
        hex_without_prefix,  // xxx.yyypzzz
3636
        hex_with_prefix,     // 0Xxxx.yyypzzz
3637
        inf_short,           // inf
3638
        inf_long,            // infinity
3639
        nan_simple,          // nan
3640
        nan_with_payload,    // nan(xxx)
3641
    };
3642
3643
1.11k
    constexpr float_reader_base() = default;
3644
948
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3645
3646
protected:
3647
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3648
};
3649
3650
template <typename CharT>
3651
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3652
    using numeric_base = numeric_reader<CharT>;
3653
3654
public:
3655
    using char_type = CharT;
3656
3657
1.11k
    constexpr float_reader() = default;
scn::v3::impl::float_reader<char>::float_reader()
Line
Count
Source
3657
626
    constexpr float_reader() = default;
scn::v3::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3657
486
    constexpr float_reader() = default;
3658
3659
948
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3659
514
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3659
434
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3660
3661
    template <typename Range>
3662
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3663
        -> scan_expected<ranges::const_iterator_t<Range>>
3664
2.03k
    {
3665
2.03k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
2.03k
        return read_source_impl(range);
3671
2.03k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
258
    {
3665
258
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
258
        return read_source_impl(range);
3671
258
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
864
    {
3665
864
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
864
        return read_source_impl(range);
3671
864
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
110
    {
3665
110
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
110
        return read_source_impl(range);
3671
110
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
798
    {
3665
798
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
798
        return read_source_impl(range);
3671
798
    }
3672
3673
#if !SCN_DISABLE_LOCALE
3674
    template <typename Range>
3675
    SCN_NODISCARD auto read_source_localized(Range range,
3676
                                             detail::locale_ref loc)
3677
        -> scan_expected<ranges::const_iterator_t<Range>>
3678
30
    {
3679
30
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
30
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
30
        return read_source_impl(range);
3685
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
8
    {
3679
8
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
8
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
8
        return read_source_impl(range);
3685
8
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
10
    {
3679
10
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
10
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
10
        return read_source_impl(range);
3685
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
6
    {
3679
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
6
        return read_source_impl(range);
3685
6
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
6
    {
3679
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
6
        return read_source_impl(range);
3685
6
    }
3686
#endif
3687
3688
    template <typename T>
3689
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3690
1.64k
    {
3691
1.64k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.64k
        const std::ptrdiff_t sign_len =
3694
1.64k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.64k
        SCN_TRY(n, parse_value_impl(value));
3697
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.64k
    }
Unexecuted instantiation: scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<float>(float&)
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3690
848
    {
3691
848
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
848
        const std::ptrdiff_t sign_len =
3694
848
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
848
        SCN_TRY(n, parse_value_impl(value));
3697
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
848
    }
Unexecuted instantiation: scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<float>(float&)
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3690
798
    {
3691
798
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
798
        const std::ptrdiff_t sign_len =
3694
798
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
798
        SCN_TRY(n, parse_value_impl(value));
3697
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
798
    }
Unexecuted instantiation: scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
3699
3700
private:
3701
    template <typename Range>
3702
    auto read_source_impl(Range range)
3703
        -> scan_expected<ranges::const_iterator_t<Range>>
3704
2.06k
    {
3705
2.06k
        SCN_TRY(sign_result,
3706
2.06k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
2.06k
        auto it = sign_result.first;
3708
2.06k
        m_sign = sign_result.second;
3709
3710
2.06k
        auto digits_begin = it;
3711
2.06k
        auto r = ranges::subrange{it, range.end()};
3712
2.06k
        if constexpr (ranges::contiguous_range<Range> &&
3713
2.06k
                      ranges::sized_range<Range>) {
3714
1.67k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
382
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
1.67k
            else {
3724
1.67k
                auto cb = [&](const auto& rr)
3725
1.67k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.64k
                    auto res = read_all(rr);
3727
1.64k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
0
                        return unexpected_scan_error(
3729
0
                            scan_error::invalid_scanned_value,
3730
0
                            "Invalid float value");
3731
0
                    }
3732
1.64k
                    return res;
3733
1.64k
                };
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
848
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
848
                    auto res = read_all(rr);
3727
848
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
0
                        return unexpected_scan_error(
3729
0
                            scan_error::invalid_scanned_value,
3730
0
                            "Invalid float value");
3731
0
                    }
3732
848
                    return res;
3733
848
                };
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
798
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
798
                    auto res = read_all(rr);
3727
798
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
0
                        return unexpected_scan_error(
3729
0
                            scan_error::invalid_scanned_value,
3730
0
                            "Invalid float value");
3731
0
                    }
3732
798
                    return res;
3733
798
                };
3734
1.67k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
1.64k
            }
3736
1.67k
        }
3737
1.64k
        else {
3738
382
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
1.64k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
1.64k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
1.64k
            m_kind != float_kind::nan_simple &&
3749
1.64k
            m_kind != float_kind::nan_with_payload) {
3750
1.64k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
1.64k
        }
3752
3753
1.64k
        handle_separators();
3754
3755
1.64k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
1.64k
        return it;
3768
1.64k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
266
    {
3705
266
        SCN_TRY(sign_result,
3706
266
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
266
        auto it = sign_result.first;
3708
266
        m_sign = sign_result.second;
3709
3710
266
        auto digits_begin = it;
3711
266
        auto r = ranges::subrange{it, range.end()};
3712
266
        if constexpr (ranges::contiguous_range<Range> &&
3713
266
                      ranges::sized_range<Range>) {
3714
266
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
266
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
266
                SCN_TRY_ASSIGN(
3717
266
                    it,
3718
266
                    do_read_source_impl(
3719
266
                        r,
3720
266
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
266
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
266
            }
3723
266
            else {
3724
266
                auto cb = [&](const auto& rr)
3725
266
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
266
                    auto res = read_all(rr);
3727
266
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
266
                        return unexpected_scan_error(
3729
266
                            scan_error::invalid_scanned_value,
3730
266
                            "Invalid float value");
3731
266
                    }
3732
266
                    return res;
3733
266
                };
3734
266
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
266
            }
3736
266
        }
3737
266
        else {
3738
266
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
874
    {
3705
874
        SCN_TRY(sign_result,
3706
874
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
874
        auto it = sign_result.first;
3708
874
        m_sign = sign_result.second;
3709
3710
874
        auto digits_begin = it;
3711
874
        auto r = ranges::subrange{it, range.end()};
3712
874
        if constexpr (ranges::contiguous_range<Range> &&
3713
874
                      ranges::sized_range<Range>) {
3714
874
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
874
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
874
            else {
3724
874
                auto cb = [&](const auto& rr)
3725
874
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
874
                    auto res = read_all(rr);
3727
874
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
874
                        return unexpected_scan_error(
3729
874
                            scan_error::invalid_scanned_value,
3730
874
                            "Invalid float value");
3731
874
                    }
3732
874
                    return res;
3733
874
                };
3734
874
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
848
            }
3736
874
        }
3737
848
        else {
3738
848
            SCN_TRY_ASSIGN(
3739
848
                it,
3740
848
                do_read_source_impl(
3741
848
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
848
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
848
        }
3744
3745
848
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
848
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
848
            m_kind != float_kind::nan_simple &&
3749
848
            m_kind != float_kind::nan_with_payload) {
3750
848
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
848
        }
3752
3753
848
        handle_separators();
3754
3755
848
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
848
        return it;
3768
848
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
116
    {
3705
116
        SCN_TRY(sign_result,
3706
116
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
116
        auto it = sign_result.first;
3708
116
        m_sign = sign_result.second;
3709
3710
116
        auto digits_begin = it;
3711
116
        auto r = ranges::subrange{it, range.end()};
3712
116
        if constexpr (ranges::contiguous_range<Range> &&
3713
116
                      ranges::sized_range<Range>) {
3714
116
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
116
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
116
                SCN_TRY_ASSIGN(
3717
116
                    it,
3718
116
                    do_read_source_impl(
3719
116
                        r,
3720
116
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
116
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
116
            }
3723
116
            else {
3724
116
                auto cb = [&](const auto& rr)
3725
116
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
116
                    auto res = read_all(rr);
3727
116
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
116
                        return unexpected_scan_error(
3729
116
                            scan_error::invalid_scanned_value,
3730
116
                            "Invalid float value");
3731
116
                    }
3732
116
                    return res;
3733
116
                };
3734
116
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
116
            }
3736
116
        }
3737
116
        else {
3738
116
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
804
    {
3705
804
        SCN_TRY(sign_result,
3706
804
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
804
        auto it = sign_result.first;
3708
804
        m_sign = sign_result.second;
3709
3710
804
        auto digits_begin = it;
3711
804
        auto r = ranges::subrange{it, range.end()};
3712
804
        if constexpr (ranges::contiguous_range<Range> &&
3713
804
                      ranges::sized_range<Range>) {
3714
804
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
804
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
804
            else {
3724
804
                auto cb = [&](const auto& rr)
3725
804
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
804
                    auto res = read_all(rr);
3727
804
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
804
                        return unexpected_scan_error(
3729
804
                            scan_error::invalid_scanned_value,
3730
804
                            "Invalid float value");
3731
804
                    }
3732
804
                    return res;
3733
804
                };
3734
804
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
798
            }
3736
804
        }
3737
798
        else {
3738
798
            SCN_TRY_ASSIGN(
3739
798
                it,
3740
798
                do_read_source_impl(
3741
798
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
798
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
798
        }
3744
3745
798
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
798
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
798
            m_kind != float_kind::nan_simple &&
3749
798
            m_kind != float_kind::nan_with_payload) {
3750
798
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
798
        }
3752
3753
798
        handle_separators();
3754
3755
798
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
798
        return it;
3768
798
    }
3769
3770
    template <typename Range>
3771
    auto read_dec_digits(Range range, bool thsep_allowed)
3772
        -> parse_expected<ranges::const_iterator_t<Range>>
3773
404
    {
3774
404
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
404
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3780
0
        }
3781
3782
404
        return read_while1_code_unit(
3783
404
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3783
260
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3783
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3783
112
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3783
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
404
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
260
    {
3774
260
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
260
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
260
        return read_while1_code_unit(
3783
260
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
260
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
26
    {
3774
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
26
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
26
        return read_while1_code_unit(
3783
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
26
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
112
    {
3774
112
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
112
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
112
        return read_while1_code_unit(
3783
112
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
112
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
6
    {
3774
6
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
6
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
6
        return read_while1_code_unit(
3783
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
6
    }
3785
    template <typename Range>
3786
    auto read_hex_digits(Range range, bool thsep_allowed)
3787
        -> parse_expected<ranges::const_iterator_t<Range>>
3788
10
    {
3789
10
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
10
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3795
0
        }
3796
3797
10
        return read_while1_code_unit(
3798
10
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3798
4
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3799
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
6
    {
3789
6
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
6
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
6
        return read_while1_code_unit(
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
4
    {
3789
4
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
4
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
4
        return read_while1_code_unit(
3798
4
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
4
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3800
    template <typename Range>
3801
    auto read_hex_prefix(Range range)
3802
        -> parse_expected<ranges::const_iterator_t<Range>>
3803
2.00k
    {
3804
2.00k
        return read_matching_string_classic_nocase(range, "0x");
3805
2.00k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
252
    {
3804
252
        return read_matching_string_classic_nocase(range, "0x");
3805
252
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
848
    {
3804
848
        return read_matching_string_classic_nocase(range, "0x");
3805
848
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
108
    {
3804
108
        return read_matching_string_classic_nocase(range, "0x");
3805
108
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
798
    {
3804
798
        return read_matching_string_classic_nocase(range, "0x");
3805
798
    }
3806
3807
    template <typename Range>
3808
    auto read_inf(Range range)
3809
        -> parse_expected<ranges::const_iterator_t<Range>>
3810
2.06k
    {
3811
2.06k
        auto it = range.begin();
3812
2.06k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.06k
            return unexpected(r.error());
3814
2.06k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
266
    {
3811
266
        auto it = range.begin();
3812
266
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
266
            return unexpected(r.error());
3814
266
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
874
    {
3811
874
        auto it = range.begin();
3812
874
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
874
            return unexpected(r.error());
3814
874
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
116
    {
3811
116
        auto it = range.begin();
3812
116
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
116
            return unexpected(r.error());
3814
116
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
804
    {
3811
804
        auto it = range.begin();
3812
804
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
804
            return unexpected(r.error());
3814
804
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
3830
3831
    template <typename Range>
3832
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3833
2.06k
    {
3834
2.06k
        auto it = range.begin();
3835
2.06k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.06k
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.06k
                scan_error::invalid_scanned_value,
3838
2.06k
                "Invalid floating-point NaN value"));
3839
2.06k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
266
    {
3834
266
        auto it = range.begin();
3835
266
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
266
            return r.transform_error(map_parse_error_to_scan_error(
3837
266
                scan_error::invalid_scanned_value,
3838
266
                "Invalid floating-point NaN value"));
3839
266
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
874
    {
3834
874
        auto it = range.begin();
3835
874
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
874
            return r.transform_error(map_parse_error_to_scan_error(
3837
874
                scan_error::invalid_scanned_value,
3838
874
                "Invalid floating-point NaN value"));
3839
874
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
116
    {
3834
116
        auto it = range.begin();
3835
116
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
116
            return r.transform_error(map_parse_error_to_scan_error(
3837
116
                scan_error::invalid_scanned_value,
3838
116
                "Invalid floating-point NaN value"));
3839
116
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
804
    {
3834
804
        auto it = range.begin();
3835
804
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
804
            return r.transform_error(map_parse_error_to_scan_error(
3837
804
                scan_error::invalid_scanned_value,
3838
804
                "Invalid floating-point NaN value"));
3839
804
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
3871
3872
    template <typename Range>
3873
    auto read_exponent(Range range, std::string_view exp)
3874
        -> ranges::const_iterator_t<Range>
3875
0
    {
3876
0
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
0
            auto beg_exp_it = range.begin();
3878
0
            auto it = *r;
3879
3880
0
            if (auto r_sign =
3881
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
0
                it = r_sign->first;
3883
0
            }
3884
3885
0
            if (auto r_exp = read_while1_code_unit(
3886
0
                    ranges::subrange{it, range.end()},
3887
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
3888
0
                SCN_UNLIKELY(!r_exp)) {
3889
0
                it = beg_exp_it;
3890
0
            }
3891
0
            else {
3892
0
                it = *r_exp;
3893
0
            }
3894
3895
0
            return it;
3896
0
        }
3897
0
        return range.begin();
3898
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
3899
3900
    template <typename Range>
3901
    auto read_hexfloat(Range range)
3902
        -> scan_expected<ranges::const_iterator_t<Range>>
3903
10
    {
3904
10
        auto it = range.begin();
3905
3906
10
        std::ptrdiff_t digits_count = 0;
3907
10
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
10
            SCN_UNLIKELY(!r)) {
3909
10
            return r.transform_error(map_parse_error_to_scan_error(
3910
10
                scan_error::invalid_scanned_value,
3911
10
                "Invalid hexadecimal floating-point value"));
3912
10
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
6
    {
3904
6
        auto it = range.begin();
3905
3906
6
        std::ptrdiff_t digits_count = 0;
3907
6
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
6
            SCN_UNLIKELY(!r)) {
3909
6
            return r.transform_error(map_parse_error_to_scan_error(
3910
6
                scan_error::invalid_scanned_value,
3911
6
                "Invalid hexadecimal floating-point value"));
3912
6
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
4
    {
3904
4
        auto it = range.begin();
3905
3906
4
        std::ptrdiff_t digits_count = 0;
3907
4
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
4
            SCN_UNLIKELY(!r)) {
3909
4
            return r.transform_error(map_parse_error_to_scan_error(
3910
4
                scan_error::invalid_scanned_value,
3911
4
                "Invalid hexadecimal floating-point value"));
3912
4
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
3939
3940
    template <typename Range>
3941
    auto read_regular_float(Range range)
3942
        -> scan_expected<ranges::const_iterator_t<Range>>
3943
404
    {
3944
404
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
404
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
404
        auto it = ranges::begin(range);
3948
404
        std::ptrdiff_t digits_count = 0;
3949
3950
404
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
404
            SCN_UNLIKELY(!r)) {
3952
404
            return r.transform_error(
3953
404
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
404
                                              "Invalid floating-point value"));
3955
404
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
260
    {
3944
260
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
260
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
260
        auto it = ranges::begin(range);
3948
260
        std::ptrdiff_t digits_count = 0;
3949
3950
260
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
260
            SCN_UNLIKELY(!r)) {
3952
260
            return r.transform_error(
3953
260
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
260
                                              "Invalid floating-point value"));
3955
260
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
26
    {
3944
26
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
26
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
26
        auto it = ranges::begin(range);
3948
26
        std::ptrdiff_t digits_count = 0;
3949
3950
26
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
26
            SCN_UNLIKELY(!r)) {
3952
26
            return r.transform_error(
3953
26
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
26
                                              "Invalid floating-point value"));
3955
26
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
112
    {
3944
112
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
112
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
112
        auto it = ranges::begin(range);
3948
112
        std::ptrdiff_t digits_count = 0;
3949
3950
112
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
112
            SCN_UNLIKELY(!r)) {
3952
112
            return r.transform_error(
3953
112
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
112
                                              "Invalid floating-point value"));
3955
112
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
6
    {
3944
6
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
6
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
6
        auto it = ranges::begin(range);
3948
6
        std::ptrdiff_t digits_count = 0;
3949
3950
6
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
6
            SCN_UNLIKELY(!r)) {
3952
6
            return r.transform_error(
3953
6
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
6
                                              "Invalid floating-point value"));
3955
6
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
3993
3994
    template <typename Range, typename ReadRegular, typename ReadHex>
3995
    auto do_read_source_impl(Range range,
3996
                             ReadRegular&& read_regular,
3997
                             ReadHex&& read_hex)
3998
        -> scan_expected<ranges::const_iterator_t<Range>>
3999
2.06k
    {
4000
2.06k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
2.06k
        const bool allowed_nonhex =
4002
2.06k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
2.06k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
2.06k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
2.06k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
2.06k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
2.06k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
2.06k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
32
            auto it = range.begin();
4025
4026
32
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
32
            else {
4031
32
                m_kind = float_kind::hex_without_prefix;
4032
32
            }
4033
4034
32
            return read_hex(ranges::subrange{it, range.end()});
4035
32
        }
4036
2.02k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
54
            m_kind = float_kind::generic;
4040
54
            return read_regular_float(range);
4041
54
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.97k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
1.97k
        m_kind = float_kind::generic;
4052
1.97k
        return read_regular(range);
4053
1.97k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
266
    {
4000
266
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
266
        const bool allowed_nonhex =
4002
266
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
266
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
266
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
266
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
266
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
266
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
266
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
6
            auto it = range.begin();
4025
4026
6
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
6
            else {
4031
6
                m_kind = float_kind::hex_without_prefix;
4032
6
            }
4033
4034
6
            return read_hex(ranges::subrange{it, range.end()});
4035
6
        }
4036
260
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
14
            m_kind = float_kind::generic;
4040
14
            return read_regular_float(range);
4041
14
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
246
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
246
        m_kind = float_kind::generic;
4052
246
        return read_regular(range);
4053
246
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
874
    {
4000
874
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
874
        const bool allowed_nonhex =
4002
874
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
874
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
874
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
874
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
874
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
874
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
874
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
10
            auto it = range.begin();
4025
4026
10
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
10
            else {
4031
10
                m_kind = float_kind::hex_without_prefix;
4032
10
            }
4033
4034
10
            return read_hex(ranges::subrange{it, range.end()});
4035
10
        }
4036
864
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
26
            m_kind = float_kind::generic;
4040
26
            return read_regular_float(range);
4041
26
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
838
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
838
        m_kind = float_kind::generic;
4052
838
        return read_regular(range);
4053
838
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
116
    {
4000
116
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
116
        const bool allowed_nonhex =
4002
116
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
116
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
116
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
116
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
116
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
116
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
116
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
4
            auto it = range.begin();
4025
4026
4
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
4
            else {
4031
4
                m_kind = float_kind::hex_without_prefix;
4032
4
            }
4033
4034
4
            return read_hex(ranges::subrange{it, range.end()});
4035
4
        }
4036
112
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
8
            m_kind = float_kind::generic;
4040
8
            return read_regular_float(range);
4041
8
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
104
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
104
        m_kind = float_kind::generic;
4052
104
        return read_regular(range);
4053
104
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
804
    {
4000
804
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
804
        const bool allowed_nonhex =
4002
804
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
804
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
804
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
804
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
804
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
804
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
804
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
12
            auto it = range.begin();
4025
4026
12
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
12
            else {
4031
12
                m_kind = float_kind::hex_without_prefix;
4032
12
            }
4033
4034
12
            return read_hex(ranges::subrange{it, range.end()});
4035
12
        }
4036
792
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
6
            m_kind = float_kind::generic;
4040
6
            return read_regular_float(range);
4041
6
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
786
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
786
        m_kind = float_kind::generic;
4052
786
        return read_regular(range);
4053
786
    }
4054
4055
    void handle_separators()
4056
1.64k
    {
4057
1.64k
        if (m_locale_options.thousands_sep == 0 &&
4058
1.64k
            m_locale_options.decimal_point == CharT{'.'}) {
4059
1.64k
            return;
4060
1.64k
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<char>::handle_separators()
Line
Count
Source
4056
848
    {
4057
848
        if (m_locale_options.thousands_sep == 0 &&
4058
848
            m_locale_options.decimal_point == CharT{'.'}) {
4059
848
            return;
4060
848
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4056
798
    {
4057
798
        if (m_locale_options.thousands_sep == 0 &&
4058
798
            m_locale_options.decimal_point == CharT{'.'}) {
4059
798
            return;
4060
798
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
4096
4097
    template <typename T>
4098
    T setsign(T value) const
4099
1.64k
    {
4100
1.64k
        if (m_sign == sign_type::minus_sign) {
4101
0
            return std::copysign(value, T{-1.0});
4102
0
        }
4103
1.64k
        return std::copysign(value, T{1.0});
4104
1.64k
    }
Unexecuted instantiation: float scn::v3::impl::float_reader<char>::setsign<float>(float) const
Unexecuted instantiation: float scn::v3::impl::float_reader<wchar_t>::setsign<float>(float) const
double scn::v3::impl::float_reader<char>::setsign<double>(double) const
Line
Count
Source
4099
848
    {
4100
848
        if (m_sign == sign_type::minus_sign) {
4101
0
            return std::copysign(value, T{-1.0});
4102
0
        }
4103
848
        return std::copysign(value, T{1.0});
4104
848
    }
double scn::v3::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4099
798
    {
4100
798
        if (m_sign == sign_type::minus_sign) {
4101
0
            return std::copysign(value, T{-1.0});
4102
0
        }
4103
798
        return std::copysign(value, T{1.0});
4104
798
    }
Unexecuted instantiation: long double scn::v3::impl::float_reader<char>::setsign<long double>(long double) const
Unexecuted instantiation: long double scn::v3::impl::float_reader<wchar_t>::setsign<long double>(long double) const
4105
4106
    template <typename T>
4107
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4108
4109
    localized_number_formatting_options<CharT> m_locale_options{};
4110
    std::string m_thsep_indices{};
4111
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4112
    std::ptrdiff_t m_integral_part_length{-1};
4113
    sign_type m_sign{sign_type::default_sign};
4114
    float_kind m_kind{float_kind::tbd};
4115
};
4116
4117
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4118
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4119
        -> scan_expected<std::ptrdiff_t>;
4120
4121
#if !SCN_DISABLE_TYPE_FLOAT
4122
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4123
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4124
#endif
4125
#if !SCN_DISABLE_TYPE_DOUBLE
4126
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4127
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4128
#endif
4129
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4130
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4131
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4132
#endif
4133
4134
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4135
4136
template <typename CharT>
4137
class reader_impl_for_float
4138
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4139
public:
4140
    constexpr reader_impl_for_float() = default;
4141
4142
    void check_specs_impl(const detail::format_specs& specs,
4143
                          reader_error_handler& eh)
4144
7.06k
    {
4145
7.06k
        detail::check_float_type_specs(specs, eh);
4146
7.06k
    }
scn::v3::impl::reader_impl_for_float<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
5.17k
    {
4145
5.17k
        detail::check_float_type_specs(specs, eh);
4146
5.17k
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
1.89k
    {
4145
1.89k
        detail::check_float_type_specs(specs, eh);
4146
1.89k
    }
4147
4148
    template <typename Range, typename T>
4149
    auto read_default(Range range, T& value, detail::locale_ref loc)
4150
        -> scan_expected<ranges::const_iterator_t<Range>>
4151
1.11k
    {
4152
1.11k
        SCN_UNUSED(loc);
4153
4154
1.11k
        float_reader<CharT> rd{};
4155
1.11k
        return read_impl<Range>(
4156
1.11k
            range, rd,
4157
1.11k
            [](float_reader<CharT>& r, auto&&... args) {
4158
1.11k
                return r.read_source(SCN_FWD(args)...);
4159
1.11k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
626
            [](float_reader<CharT>& r, auto&&... args) {
4158
626
                return r.read_source(SCN_FWD(args)...);
4159
626
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
486
            [](float_reader<CharT>& r, auto&&... args) {
4158
486
                return r.read_source(SCN_FWD(args)...);
4159
486
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
4160
1.11k
            value);
4161
1.11k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
626
    {
4152
626
        SCN_UNUSED(loc);
4153
4154
626
        float_reader<CharT> rd{};
4155
626
        return read_impl<Range>(
4156
626
            range, rd,
4157
626
            [](float_reader<CharT>& r, auto&&... args) {
4158
626
                return r.read_source(SCN_FWD(args)...);
4159
626
            },
4160
626
            value);
4161
626
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
486
    {
4152
486
        SCN_UNUSED(loc);
4153
4154
486
        float_reader<CharT> rd{};
4155
486
        return read_impl<Range>(
4156
486
            range, rd,
4157
486
            [](float_reader<CharT>& r, auto&&... args) {
4158
486
                return r.read_source(SCN_FWD(args)...);
4159
486
            },
4160
486
            value);
4161
486
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
4162
4163
    template <typename Range, typename T>
4164
    auto read_specs(Range range,
4165
                    const detail::format_specs& specs,
4166
                    T& value,
4167
                    detail::locale_ref loc)
4168
        -> scan_expected<ranges::const_iterator_t<Range>>
4169
948
    {
4170
948
        float_reader<CharT> rd{get_options(specs)};
4171
4172
948
#if !SCN_DISABLE_LOCALE
4173
948
        if (specs.localized) {
4174
30
            return read_impl<Range>(
4175
30
                range, rd,
4176
30
                [](float_reader<CharT>& r, auto&&... args) {
4177
30
                    return r.read_source_localized(SCN_FWD(args)...);
4178
30
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
10
                [](float_reader<CharT>& r, auto&&... args) {
4177
10
                    return r.read_source_localized(SCN_FWD(args)...);
4178
10
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
4179
30
                value, loc);
4180
30
        }
4181
918
#endif
4182
4183
918
        return read_impl<Range>(
4184
918
            range, rd,
4185
918
            [](float_reader<CharT>& r, auto&&... args) {
4186
918
                return r.read_source(SCN_FWD(args)...);
4187
918
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
258
            [](float_reader<CharT>& r, auto&&... args) {
4186
258
                return r.read_source(SCN_FWD(args)...);
4187
258
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
238
            [](float_reader<CharT>& r, auto&&... args) {
4186
238
                return r.read_source(SCN_FWD(args)...);
4187
238
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
110
            [](float_reader<CharT>& r, auto&&... args) {
4186
110
                return r.read_source(SCN_FWD(args)...);
4187
110
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
312
            [](float_reader<CharT>& r, auto&&... args) {
4186
312
                return r.read_source(SCN_FWD(args)...);
4187
312
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
4188
918
            value);
4189
948
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
266
    {
4170
266
        float_reader<CharT> rd{get_options(specs)};
4171
4172
266
#if !SCN_DISABLE_LOCALE
4173
266
        if (specs.localized) {
4174
8
            return read_impl<Range>(
4175
8
                range, rd,
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
4179
8
                value, loc);
4180
8
        }
4181
258
#endif
4182
4183
258
        return read_impl<Range>(
4184
258
            range, rd,
4185
258
            [](float_reader<CharT>& r, auto&&... args) {
4186
258
                return r.read_source(SCN_FWD(args)...);
4187
258
            },
4188
258
            value);
4189
266
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
248
    {
4170
248
        float_reader<CharT> rd{get_options(specs)};
4171
4172
248
#if !SCN_DISABLE_LOCALE
4173
248
        if (specs.localized) {
4174
10
            return read_impl<Range>(
4175
10
                range, rd,
4176
10
                [](float_reader<CharT>& r, auto&&... args) {
4177
10
                    return r.read_source_localized(SCN_FWD(args)...);
4178
10
                },
4179
10
                value, loc);
4180
10
        }
4181
238
#endif
4182
4183
238
        return read_impl<Range>(
4184
238
            range, rd,
4185
238
            [](float_reader<CharT>& r, auto&&... args) {
4186
238
                return r.read_source(SCN_FWD(args)...);
4187
238
            },
4188
238
            value);
4189
248
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
116
    {
4170
116
        float_reader<CharT> rd{get_options(specs)};
4171
4172
116
#if !SCN_DISABLE_LOCALE
4173
116
        if (specs.localized) {
4174
6
            return read_impl<Range>(
4175
6
                range, rd,
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
4179
6
                value, loc);
4180
6
        }
4181
110
#endif
4182
4183
110
        return read_impl<Range>(
4184
110
            range, rd,
4185
110
            [](float_reader<CharT>& r, auto&&... args) {
4186
110
                return r.read_source(SCN_FWD(args)...);
4187
110
            },
4188
110
            value);
4189
116
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
318
    {
4170
318
        float_reader<CharT> rd{get_options(specs)};
4171
4172
318
#if !SCN_DISABLE_LOCALE
4173
318
        if (specs.localized) {
4174
6
            return read_impl<Range>(
4175
6
                range, rd,
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
4179
6
                value, loc);
4180
6
        }
4181
312
#endif
4182
4183
312
        return read_impl<Range>(
4184
312
            range, rd,
4185
312
            [](float_reader<CharT>& r, auto&&... args) {
4186
312
                return r.read_source(SCN_FWD(args)...);
4187
312
            },
4188
312
            value);
4189
318
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
4190
4191
private:
4192
    template <typename Range>
4193
    using read_source_callback_type =
4194
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4195
                                                       Range,
4196
                                                       detail::locale_ref);
4197
4198
    template <typename Range, typename T>
4199
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4200
        Range range,
4201
        float_reader<CharT>& rd,
4202
        function_ref<read_source_callback_type<Range>> read_source_cb,
4203
        T& value,
4204
        detail::locale_ref loc = {})
4205
2.06k
    {
4206
2.06k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
2.06k
            SCN_UNLIKELY(!r)) {
4208
414
            return unexpected(r.error());
4209
414
        }
4210
4211
1.64k
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
1.64k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
266
    {
4206
266
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
266
            SCN_UNLIKELY(!r)) {
4208
266
            return unexpected(r.error());
4209
266
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
874
    {
4206
874
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
874
            SCN_UNLIKELY(!r)) {
4208
26
            return unexpected(r.error());
4209
26
        }
4210
4211
848
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
848
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
116
    {
4206
116
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
116
            SCN_UNLIKELY(!r)) {
4208
116
            return unexpected(r.error());
4209
116
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
804
    {
4206
804
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
804
            SCN_UNLIKELY(!r)) {
4208
6
            return unexpected(r.error());
4209
6
        }
4210
4211
798
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
798
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
4214
4215
    static unsigned get_options(const detail::format_specs& specs)
4216
948
    {
4217
948
        unsigned options{};
4218
948
        if (specs.localized) {
4219
30
            options |= float_reader_base::allow_thsep;
4220
30
        }
4221
4222
948
        SCN_GCC_COMPAT_PUSH
4223
948
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
948
        switch (specs.type) {
4226
40
            case detail::presentation_type::float_fixed:
4227
40
                return options | float_reader_base::allow_fixed;
4228
4229
10
            case detail::presentation_type::float_scientific:
4230
10
                return options | float_reader_base::allow_scientific;
4231
4232
32
            case detail::presentation_type::float_hex:
4233
32
                return options | float_reader_base::allow_hex;
4234
4235
4
            case detail::presentation_type::float_general:
4236
4
                return options | float_reader_base::allow_scientific |
4237
4
                       float_reader_base::allow_fixed;
4238
4239
862
            case detail::presentation_type::none:
4240
862
                return options | float_reader_base::allow_scientific |
4241
862
                       float_reader_base::allow_fixed |
4242
862
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
948
                SCN_UNREACHABLE;
4247
948
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
948
    }
scn::v3::impl::reader_impl_for_float<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
514
    {
4217
514
        unsigned options{};
4218
514
        if (specs.localized) {
4219
18
            options |= float_reader_base::allow_thsep;
4220
18
        }
4221
4222
514
        SCN_GCC_COMPAT_PUSH
4223
514
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
514
        switch (specs.type) {
4226
30
            case detail::presentation_type::float_fixed:
4227
30
                return options | float_reader_base::allow_fixed;
4228
4229
6
            case detail::presentation_type::float_scientific:
4230
6
                return options | float_reader_base::allow_scientific;
4231
4232
16
            case detail::presentation_type::float_hex:
4233
16
                return options | float_reader_base::allow_hex;
4234
4235
4
            case detail::presentation_type::float_general:
4236
4
                return options | float_reader_base::allow_scientific |
4237
4
                       float_reader_base::allow_fixed;
4238
4239
458
            case detail::presentation_type::none:
4240
458
                return options | float_reader_base::allow_scientific |
4241
458
                       float_reader_base::allow_fixed |
4242
458
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
514
                SCN_UNREACHABLE;
4247
514
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
514
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
434
    {
4217
434
        unsigned options{};
4218
434
        if (specs.localized) {
4219
12
            options |= float_reader_base::allow_thsep;
4220
12
        }
4221
4222
434
        SCN_GCC_COMPAT_PUSH
4223
434
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
434
        switch (specs.type) {
4226
10
            case detail::presentation_type::float_fixed:
4227
10
                return options | float_reader_base::allow_fixed;
4228
4229
4
            case detail::presentation_type::float_scientific:
4230
4
                return options | float_reader_base::allow_scientific;
4231
4232
16
            case detail::presentation_type::float_hex:
4233
16
                return options | float_reader_base::allow_hex;
4234
4235
0
            case detail::presentation_type::float_general:
4236
0
                return options | float_reader_base::allow_scientific |
4237
0
                       float_reader_base::allow_fixed;
4238
4239
404
            case detail::presentation_type::none:
4240
404
                return options | float_reader_base::allow_scientific |
4241
404
                       float_reader_base::allow_fixed |
4242
404
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
434
                SCN_UNREACHABLE;
4247
434
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
434
    }
4251
};
4252
4253
/////////////////////////////////////////////////////////////////
4254
// Regex reader
4255
/////////////////////////////////////////////////////////////////
4256
4257
// Forward declaration for C++17 compatibility with regex disabled
4258
template <typename CharT, typename Input>
4259
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4260
                             detail::regex_flags flags,
4261
                             Input input,
4262
                             basic_regex_matches<CharT>& value)
4263
    -> scan_expected<ranges::iterator_t<Input>>;
4264
4265
#if !SCN_DISABLE_REGEX
4266
4267
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4268
constexpr auto make_regex_flags(detail::regex_flags flags)
4269
    -> scan_expected<std::regex_constants::syntax_option_type>
4270
13.1k
{
4271
13.1k
    std::regex_constants::syntax_option_type result{};
4272
13.1k
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4273
294
#if SCN_HAS_STD_REGEX_MULTILINE
4274
294
        result |= std::regex_constants::multiline;
4275
#else
4276
        return unexpected_scan_error(
4277
            scan_error::invalid_format_string,
4278
            "/m flag for regex isn't supported by regex backend");
4279
#endif
4280
294
    }
4281
13.1k
    if ((flags & detail::regex_flags::singleline) !=
4282
13.1k
        detail::regex_flags::none) {
4283
0
        return unexpected_scan_error(
4284
0
            scan_error::invalid_format_string,
4285
0
            "/s flag for regex isn't supported by regex backend");
4286
0
    }
4287
13.1k
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4288
1.33k
        result |= std::regex_constants::icase;
4289
1.33k
    }
4290
13.1k
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4291
12
        result |= std::regex_constants::nosubs;
4292
12
    }
4293
13.1k
    return result;
4294
13.1k
}
4295
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4296
constexpr auto make_regex_flags(detail::regex_flags flags)
4297
    -> boost::regex_constants::syntax_option_type
4298
{
4299
    boost::regex_constants::syntax_option_type result{};
4300
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4301
        result |= boost::regex_constants::no_mod_m;
4302
    }
4303
    if ((flags & detail::regex_flags::singleline) !=
4304
        detail::regex_flags::none) {
4305
        result |= boost::regex_constants::mod_s;
4306
    }
4307
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4308
        result |= boost::regex_constants::icase;
4309
    }
4310
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4311
        result |= boost::regex_constants::nosubs;
4312
    }
4313
    return result;
4314
}
4315
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4316
inline auto make_regex_flags(detail::regex_flags flags)
4317
    -> std::pair<RE2::Options, std::string_view>
4318
{
4319
    RE2::Options opt{RE2::Quiet};
4320
    std::string_view stringflags{};
4321
4322
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4323
        stringflags = "(?m)";
4324
    }
4325
    if ((flags & detail::regex_flags::singleline) !=
4326
        detail::regex_flags::none) {
4327
        opt.set_dot_nl(true);
4328
    }
4329
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4330
        opt.set_case_sensitive(false);
4331
    }
4332
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4333
        opt.set_never_capture(true);
4334
    }
4335
4336
    return {opt, stringflags};
4337
}
4338
#endif  // SCN_REGEX_BACKEND == ...
4339
4340
template <typename CharT, typename Input>
4341
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4342
                            detail::regex_flags flags,
4343
                            Input input)
4344
    -> scan_expected<ranges::iterator_t<Input>>
4345
13.1k
{
4346
13.1k
    static_assert(ranges::contiguous_range<Input> &&
4347
13.1k
                  ranges::borrowed_range<Input> &&
4348
13.1k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
13.1k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
13.1k
    std::basic_regex<CharT> re{};
4352
13.1k
    try {
4353
13.1k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
13.1k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
13.1k
                                     re_flags | std::regex_constants::nosubs};
4356
13.1k
    }
4357
13.1k
    catch (const std::regex_error& err) {
4358
6.66k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
6.66k
                                     "Invalid regex");
4360
6.66k
    }
4361
4362
6.51k
    std::match_results<const CharT*> matches{};
4363
6.51k
    try {
4364
6.51k
        bool found = std::regex_search(input.data(),
4365
6.51k
                                       input.data() + input.size(), matches, re,
4366
6.51k
                                       std::regex_constants::match_continuous);
4367
6.51k
        if (!found || matches.prefix().matched) {
4368
4.57k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
4.57k
                                         "Regular expression didn't match");
4370
4.57k
        }
4371
6.51k
    }
4372
6.51k
    catch (const std::regex_error& err) {
4373
174
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
174
                                     "Regex matching failed with an error");
4375
174
    }
4376
4377
1.75k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
6.51k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
9.45k
{
4346
9.45k
    static_assert(ranges::contiguous_range<Input> &&
4347
9.45k
                  ranges::borrowed_range<Input> &&
4348
9.45k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
9.45k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
9.45k
    std::basic_regex<CharT> re{};
4352
9.45k
    try {
4353
9.45k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
9.45k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
9.45k
                                     re_flags | std::regex_constants::nosubs};
4356
9.45k
    }
4357
9.45k
    catch (const std::regex_error& err) {
4358
4.89k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
4.89k
                                     "Invalid regex");
4360
4.89k
    }
4361
4362
4.56k
    std::match_results<const CharT*> matches{};
4363
4.56k
    try {
4364
4.56k
        bool found = std::regex_search(input.data(),
4365
4.56k
                                       input.data() + input.size(), matches, re,
4366
4.56k
                                       std::regex_constants::match_continuous);
4367
4.56k
        if (!found || matches.prefix().matched) {
4368
2.79k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.79k
                                         "Regular expression didn't match");
4370
2.79k
        }
4371
4.56k
    }
4372
4.56k
    catch (const std::regex_error& err) {
4373
174
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
174
                                     "Regex matching failed with an error");
4375
174
    }
4376
4377
1.59k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
4.56k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
3.71k
{
4346
3.71k
    static_assert(ranges::contiguous_range<Input> &&
4347
3.71k
                  ranges::borrowed_range<Input> &&
4348
3.71k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
3.71k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
3.71k
    std::basic_regex<CharT> re{};
4352
3.71k
    try {
4353
3.71k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
3.71k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
3.71k
                                     re_flags | std::regex_constants::nosubs};
4356
3.71k
    }
4357
3.71k
    catch (const std::regex_error& err) {
4358
1.77k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
1.77k
                                     "Invalid regex");
4360
1.77k
    }
4361
4362
1.94k
    std::match_results<const CharT*> matches{};
4363
1.94k
    try {
4364
1.94k
        bool found = std::regex_search(input.data(),
4365
1.94k
                                       input.data() + input.size(), matches, re,
4366
1.94k
                                       std::regex_constants::match_continuous);
4367
1.94k
        if (!found || matches.prefix().matched) {
4368
1.78k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
1.78k
                                         "Regular expression didn't match");
4370
1.78k
        }
4371
1.94k
    }
4372
1.94k
    catch (const std::regex_error& err) {
4373
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
0
                                     "Regex matching failed with an error");
4375
0
    }
4376
4377
162
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
1.94k
}
4448
4449
template <typename CharT, typename Input>
4450
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4451
                             detail::regex_flags flags,
4452
                             Input input,
4453
                             basic_regex_matches<CharT>& value)
4454
    -> scan_expected<ranges::iterator_t<Input>>
4455
0
{
4456
0
    static_assert(ranges::contiguous_range<Input> &&
4457
0
                  ranges::borrowed_range<Input> &&
4458
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4459
4460
0
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4461
0
    std::basic_regex<CharT> re{};
4462
0
    try {
4463
0
        SCN_TRY(re_flags, make_regex_flags(flags));
4464
0
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4465
0
    }
4466
0
    catch (const std::regex_error& err) {
4467
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4468
0
                                     "Invalid regex");
4469
0
    }
4470
4471
0
    std::match_results<const CharT*> matches{};
4472
0
    try {
4473
0
        bool found = std::regex_search(input.data(),
4474
0
                                       input.data() + input.size(), matches, re,
4475
0
                                       std::regex_constants::match_continuous);
4476
0
        if (!found || matches.prefix().matched) {
4477
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4478
0
                                         "Regular expression didn't match");
4479
0
        }
4480
0
    }
4481
0
    catch (const std::regex_error& err) {
4482
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4483
0
                                     "Regex matching failed with an error");
4484
0
    }
4485
4486
0
    value.resize(matches.size());
4487
0
    std::transform(matches.begin(), matches.end(), value.begin(),
4488
0
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4489
0
                       if (!match.matched)
4490
0
                           return std::nullopt;
4491
0
                       return detail::make_string_view_from_pointers(
4492
0
                           match.first, match.second);
4493
0
                   });
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKcEEEENS3_8optionalINS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIcEEEESQ_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKwEEEENS3_8optionalINS0_17basic_regex_matchIwEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIwEEEESQ_
4494
0
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4495
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4496
    std::vector<std::basic_string<CharT>> names;
4497
    for (size_t i = 0; i < pattern.size();) {
4498
        if constexpr (std::is_same_v<CharT, char>) {
4499
            i = pattern.find("(?<", i);
4500
        }
4501
        else {
4502
            i = pattern.find(L"(?<", i);
4503
        }
4504
4505
        if (i == std::basic_string_view<CharT>::npos) {
4506
            break;
4507
        }
4508
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4509
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4510
                i += 3;
4511
                continue;
4512
            }
4513
        }
4514
4515
        i += 3;
4516
        auto end_i = pattern.find(CharT{'>'}, i);
4517
        if (end_i == std::basic_string_view<CharT>::npos) {
4518
            break;
4519
        }
4520
        names.emplace_back(pattern.substr(i, end_i - i));
4521
    }
4522
4523
    auto re =
4524
#if SCN_REGEX_BOOST_USE_ICU
4525
        boost::make_u32regex(
4526
            pattern.data(), pattern.data() + pattern.size(),
4527
            make_regex_flags(flags) | boost::regex_constants::no_except);
4528
#else
4529
        boost::basic_regex<CharT>{
4530
            pattern.data(), pattern.size(),
4531
            make_regex_flags(flags) | boost::regex_constants::no_except};
4532
#endif
4533
    if (re.status() != 0) {
4534
        return unexpected_scan_error(scan_error::invalid_format_string,
4535
                                     "Invalid regex");
4536
    }
4537
4538
    boost::match_results<const CharT*> matches{};
4539
    try {
4540
        bool found =
4541
#if SCN_REGEX_BOOST_USE_ICU
4542
            boost::u32regex_search(input.data(), input.data() + input.size(),
4543
                                   matches, re,
4544
                                   boost::regex_constants::match_continuous);
4545
#else
4546
            boost::regex_search(input.data(), input.data() + input.size(),
4547
                                matches, re,
4548
                                boost::regex_constants::match_continuous);
4549
#endif
4550
        if (!found || matches.prefix().matched) {
4551
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4552
                                         "Regular expression didn't match");
4553
        }
4554
    }
4555
    catch (const std::runtime_error& err) {
4556
        return unexpected_scan_error(scan_error::invalid_format_string,
4557
                                     "Regex matching failed with an error");
4558
    }
4559
4560
    value.resize(matches.size());
4561
    std::transform(
4562
        matches.begin(), matches.end(), value.begin(),
4563
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4564
            if (!match.matched)
4565
                return std::nullopt;
4566
            auto sv = detail::make_string_view_from_pointers(match.first,
4567
                                                             match.second);
4568
4569
            if (auto name_it = std::find_if(
4570
                    names.begin(), names.end(),
4571
                    [&](const auto& name) { return match == matches[name]; });
4572
                name_it != names.end()) {
4573
                return basic_regex_match<CharT>{sv, *name_it};
4574
            }
4575
            return sv;
4576
        });
4577
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4578
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4579
    static_assert(std::is_same_v<CharT, char>);
4580
    std::string flagged_pattern{};
4581
    auto re = [&]() {
4582
        auto [opts, flagstr] = make_regex_flags(flags);
4583
        if (flagstr.empty()) {
4584
            return re2::RE2{pattern, opts};
4585
        }
4586
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4587
        flagged_pattern.append(flagstr);
4588
        flagged_pattern.append(pattern);
4589
        return re2::RE2{flagged_pattern, opts};
4590
    }();
4591
    if (!re.ok()) {
4592
        return unexpected_scan_error(scan_error::invalid_format_string,
4593
                                     "Failed to parse regular expression");
4594
    }
4595
    // TODO: Optimize into a single batch allocation
4596
    const auto max_matches_n =
4597
        static_cast<size_t>(re.NumberOfCapturingGroups());
4598
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4599
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4600
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4601
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4602
                   [](auto& val) { return re2::RE2::Arg{&val}; });
4603
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4604
                   [](auto& arg) { return &arg; });
4605
    auto new_input = detail::make_string_view_from_pointers(
4606
        detail::to_address(input.begin()), detail::to_address(input.end()));
4607
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4608
                                    match_argptrs.size());
4609
    if (!found) {
4610
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4611
                                     "Regular expression didn't match");
4612
    }
4613
    value.resize(matches.size() + 1);
4614
    value[0] =
4615
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4616
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4617
                   [&](auto&& match) -> std::optional<regex_match> {
4618
                       if (!match)
4619
                           return std::nullopt;
4620
                       return *match;
4621
                   });
4622
    {
4623
        const auto& capturing_groups = re.CapturingGroupNames();
4624
        for (size_t i = 1; i < value.size(); ++i) {
4625
            if (auto it = capturing_groups.find(static_cast<int>(i));
4626
                it != capturing_groups.end()) {
4627
                auto val = value[i]->get();
4628
                value[i].emplace(val, it->second);
4629
            };
4630
        }
4631
    }
4632
    return input.begin() + ranges::distance(input.data(), new_input.data());
4633
#endif  // SCN_REGEX_BACKEND == ...
4634
0
}
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4635
4636
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4637
930
{
4638
930
    std::string result{pattern};
4639
5.66k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4640
4.73k
        result.replace(n, 2, "/");
4641
4.73k
        ++n;
4642
4.73k
    }
4643
930
    return result;
4644
930
}
4645
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4646
84
{
4647
84
    std::wstring result{pattern};
4648
342
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4649
258
        result.replace(n, 2, L"/");
4650
258
        ++n;
4651
258
    }
4652
84
    return result;
4653
84
}
4654
4655
#endif  // !SCN_DISABLE_REGEX
4656
4657
template <typename SourceCharT>
4658
struct regex_matches_reader
4659
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4660
    void check_specs_impl(const detail::format_specs& specs,
4661
                          reader_error_handler& eh)
4662
0
    {
4663
0
        detail::check_regex_type_specs(specs, eh);
4664
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4665
0
        SCN_EXPECT(specs.charset_string_size > 0);
4666
0
    }
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
4667
4668
    template <typename Range, typename DestCharT>
4669
    auto read_default(Range,
4670
                      basic_regex_matches<DestCharT>&,
4671
                      detail::locale_ref = {})
4672
        -> scan_expected<ranges::const_iterator_t<Range>>
4673
0
    {
4674
0
        return unexpected_scan_error(
4675
0
            scan_error::invalid_format_string,
4676
0
            "No regex given in format string for scanning regex_matches");
4677
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
4678
4679
    template <typename Range, typename DestCharT>
4680
    auto read_specs(Range range,
4681
                    const detail::format_specs& specs,
4682
                    basic_regex_matches<DestCharT>& value,
4683
                    detail::locale_ref = {})
4684
        -> scan_expected<ranges::const_iterator_t<Range>>
4685
0
    {
4686
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4687
0
            return unexpected_scan_error(
4688
0
                scan_error::invalid_scanned_value,
4689
0
                "Cannot transcode is regex_matches_reader");
4690
0
        }
4691
0
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4692
0
                           !std::is_same_v<SourceCharT, char>) {
4693
0
            return unexpected_scan_error(
4694
0
                scan_error::invalid_scanned_value,
4695
0
                "Regex backend doesn't support wide strings as input");
4696
0
        }
4697
0
        else {
4698
0
            if (!is_entire_source_contiguous(range)) {
4699
0
                return unexpected_scan_error(
4700
0
                    scan_error::invalid_scanned_value,
4701
0
                    "Cannot use regex with a non-contiguous source "
4702
0
                    "range");
4703
0
            }
4704
4705
0
            auto input = get_as_contiguous(range);
4706
0
            SCN_TRY(it,
4707
0
                    impl(input,
4708
0
                         specs.type == detail::presentation_type::regex_escaped,
4709
0
                         specs.charset_string<SourceCharT>(),
4710
0
                         specs.regexp_flags, value));
4711
0
            return ranges::next(range.begin(),
4712
0
                                ranges::distance(input.begin(), it));
4713
0
        }
4714
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4715
4716
private:
4717
    template <typename Range, typename DestCharT>
4718
    auto impl(Range input,
4719
              bool is_escaped,
4720
              std::basic_string_view<SourceCharT> pattern,
4721
              detail::regex_flags flags,
4722
              basic_regex_matches<DestCharT>& value)
4723
0
    {
4724
0
        if constexpr (detail::is_type_disabled<
4725
0
                          basic_regex_matches<DestCharT>>) {
4726
0
            SCN_EXPECT(false);
4727
0
            SCN_UNREACHABLE;
4728
0
        }
4729
0
        else {
4730
0
            if (is_escaped) {
4731
0
                return read_regex_matches_impl<SourceCharT>(
4732
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4733
0
            }
4734
0
            return read_regex_matches_impl(pattern, flags, input, value);
4735
0
        }
4736
0
    }
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
4737
};
4738
4739
template <typename CharT>
4740
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4741
4742
/////////////////////////////////////////////////////////////////
4743
// String reader
4744
/////////////////////////////////////////////////////////////////
4745
4746
template <typename Range, typename Iterator, typename ValueCharT>
4747
auto read_string_impl(Range range,
4748
                      Iterator&& result,
4749
                      std::basic_string<ValueCharT>& value)
4750
    -> scan_expected<ranges::const_iterator_t<Range>>
4751
7.33k
{
4752
7.33k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
7.33k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
7.33k
    if (!validate_unicode(src.view())) {
4756
1.95k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
1.95k
                                     "Invalid encoding in scanned string");
4758
1.95k
    }
4759
5.38k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
5.38k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
5.38k
    return SCN_MOVE(result);
4765
5.38k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
330
{
4752
330
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
330
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
330
    if (!validate_unicode(src.view())) {
4756
142
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
142
                                     "Invalid encoding in scanned string");
4758
142
    }
4759
188
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
188
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
188
    return SCN_MOVE(result);
4765
188
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
184
{
4752
184
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
184
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
184
    if (!validate_unicode(src.view())) {
4756
54
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
54
                                     "Invalid encoding in scanned string");
4758
54
    }
4759
130
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
130
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
130
    return SCN_MOVE(result);
4765
130
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
942
{
4752
942
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
942
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
942
    if (!validate_unicode(src.view())) {
4756
308
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
308
                                     "Invalid encoding in scanned string");
4758
308
    }
4759
634
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
634
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
634
    return SCN_MOVE(result);
4765
634
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.13k
{
4752
1.13k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.13k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.13k
    if (!validate_unicode(src.view())) {
4756
124
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
124
                                     "Invalid encoding in scanned string");
4758
124
    }
4759
1.01k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.01k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.01k
    return SCN_MOVE(result);
4765
1.01k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
330
{
4752
330
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
330
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
330
    if (!validate_unicode(src.view())) {
4756
142
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
142
                                     "Invalid encoding in scanned string");
4758
142
    }
4759
188
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
188
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
188
    return SCN_MOVE(result);
4765
188
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
184
{
4752
184
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
184
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
184
    if (!validate_unicode(src.view())) {
4756
54
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
54
                                     "Invalid encoding in scanned string");
4758
54
    }
4759
130
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
130
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
130
    return SCN_MOVE(result);
4765
130
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
942
{
4752
942
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
942
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
942
    if (!validate_unicode(src.view())) {
4756
308
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
308
                                     "Invalid encoding in scanned string");
4758
308
    }
4759
634
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
634
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
634
    return SCN_MOVE(result);
4765
634
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.13k
{
4752
1.13k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.13k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.13k
    if (!validate_unicode(src.view())) {
4756
124
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
124
                                     "Invalid encoding in scanned string");
4758
124
    }
4759
1.01k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.01k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.01k
    return SCN_MOVE(result);
4765
1.01k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
142
{
4752
142
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
142
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
142
    if (!validate_unicode(src.view())) {
4756
76
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
76
                                     "Invalid encoding in scanned string");
4758
76
    }
4759
66
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
66
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
66
    return SCN_MOVE(result);
4765
66
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
820
{
4752
820
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
820
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
820
    if (!validate_unicode(src.view())) {
4756
272
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
272
                                     "Invalid encoding in scanned string");
4758
272
    }
4759
548
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
548
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
548
    return SCN_MOVE(result);
4765
548
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
112
{
4752
112
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
112
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
112
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
112
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
112
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
112
    return SCN_MOVE(result);
4765
112
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
142
{
4752
142
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
142
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
142
    if (!validate_unicode(src.view())) {
4756
76
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
76
                                     "Invalid encoding in scanned string");
4758
76
    }
4759
66
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
66
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
66
    return SCN_MOVE(result);
4765
66
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
820
{
4752
820
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
820
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
820
    if (!validate_unicode(src.view())) {
4756
272
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
272
                                     "Invalid encoding in scanned string");
4758
272
    }
4759
548
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
548
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
548
    return SCN_MOVE(result);
4765
548
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
112
{
4752
112
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
112
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
112
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
112
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
112
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
112
    return SCN_MOVE(result);
4765
112
}
4766
4767
template <typename Range, typename Iterator, typename ValueCharT>
4768
auto read_string_view_impl(Range range,
4769
                           Iterator&& result,
4770
                           std::basic_string_view<ValueCharT>& value)
4771
    -> scan_expected<ranges::const_iterator_t<Range>>
4772
3.66k
{
4773
3.66k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
3.66k
    auto src = [&]() {
4776
3.66k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
3.01k
            return make_contiguous_buffer(
4778
3.01k
                ranges::subrange{range.begin().base(), result.base()});
4779
3.01k
        }
4780
3.01k
        else {
4781
3.01k
            return make_contiguous_buffer(
4782
3.01k
                ranges::subrange{range.begin(), result});
4783
3.01k
        }
4784
3.66k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
330
    auto src = [&]() {
4776
330
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
330
            return make_contiguous_buffer(
4778
330
                ranges::subrange{range.begin().base(), result.base()});
4779
330
        }
4780
330
        else {
4781
330
            return make_contiguous_buffer(
4782
330
                ranges::subrange{range.begin(), result});
4783
330
        }
4784
330
    }();
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4775
184
    auto src = [&]() {
4776
184
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
184
            return make_contiguous_buffer(
4778
184
                ranges::subrange{range.begin().base(), result.base()});
4779
184
        }
4780
184
        else {
4781
184
            return make_contiguous_buffer(
4782
184
                ranges::subrange{range.begin(), result});
4783
184
        }
4784
184
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
942
    auto src = [&]() {
4776
942
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
942
            return make_contiguous_buffer(
4778
942
                ranges::subrange{range.begin().base(), result.base()});
4779
942
        }
4780
942
        else {
4781
942
            return make_contiguous_buffer(
4782
942
                ranges::subrange{range.begin(), result});
4783
942
        }
4784
942
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
1.13k
    auto src = [&]() {
4776
1.13k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
1.13k
            return make_contiguous_buffer(
4778
1.13k
                ranges::subrange{range.begin().base(), result.base()});
4779
1.13k
        }
4780
1.13k
        else {
4781
1.13k
            return make_contiguous_buffer(
4782
1.13k
                ranges::subrange{range.begin(), result});
4783
1.13k
        }
4784
1.13k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
142
    auto src = [&]() {
4776
142
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
142
            return make_contiguous_buffer(
4778
142
                ranges::subrange{range.begin().base(), result.base()});
4779
142
        }
4780
142
        else {
4781
142
            return make_contiguous_buffer(
4782
142
                ranges::subrange{range.begin(), result});
4783
142
        }
4784
142
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
820
    auto src = [&]() {
4776
820
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
820
            return make_contiguous_buffer(
4778
820
                ranges::subrange{range.begin().base(), result.base()});
4779
820
        }
4780
820
        else {
4781
820
            return make_contiguous_buffer(
4782
820
                ranges::subrange{range.begin(), result});
4783
820
        }
4784
820
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
112
    auto src = [&]() {
4776
112
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
112
            return make_contiguous_buffer(
4778
112
                ranges::subrange{range.begin().base(), result.base()});
4779
112
        }
4780
112
        else {
4781
112
            return make_contiguous_buffer(
4782
112
                ranges::subrange{range.begin(), result});
4783
112
        }
4784
112
    }();
4785
3.66k
    using src_type = decltype(src);
4786
4787
3.66k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
3.66k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
3.66k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
3.66k
                                     "Cannot read a string_view from "
4796
3.66k
                                     "this source range (would require "
4797
3.66k
                                     "transcoding)");
4798
3.66k
    }
4799
3.66k
    else {
4800
3.66k
        const auto view = src.view();
4801
3.66k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
3.66k
        if (!validate_unicode(value)) {
4804
976
            return unexpected_scan_error(
4805
976
                scan_error::invalid_scanned_value,
4806
976
                "Invalid encoding in scanned string_view");
4807
976
        }
4808
4809
2.69k
        return SCN_MOVE(result);
4810
3.66k
    }
4811
3.66k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
330
{
4773
330
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
330
    auto src = [&]() {
4776
330
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
330
            return make_contiguous_buffer(
4778
330
                ranges::subrange{range.begin().base(), result.base()});
4779
330
        }
4780
330
        else {
4781
330
            return make_contiguous_buffer(
4782
330
                ranges::subrange{range.begin(), result});
4783
330
        }
4784
330
    }();
4785
330
    using src_type = decltype(src);
4786
4787
330
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
330
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
330
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
330
                                     "Cannot read a string_view from "
4796
330
                                     "this source range (would require "
4797
330
                                     "transcoding)");
4798
330
    }
4799
330
    else {
4800
330
        const auto view = src.view();
4801
330
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
330
        if (!validate_unicode(value)) {
4804
142
            return unexpected_scan_error(
4805
142
                scan_error::invalid_scanned_value,
4806
142
                "Invalid encoding in scanned string_view");
4807
142
        }
4808
4809
188
        return SCN_MOVE(result);
4810
330
    }
4811
330
}
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4772
184
{
4773
184
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
184
    auto src = [&]() {
4776
184
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
184
            return make_contiguous_buffer(
4778
184
                ranges::subrange{range.begin().base(), result.base()});
4779
184
        }
4780
184
        else {
4781
184
            return make_contiguous_buffer(
4782
184
                ranges::subrange{range.begin(), result});
4783
184
        }
4784
184
    }();
4785
184
    using src_type = decltype(src);
4786
4787
184
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
184
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
184
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
184
                                     "Cannot read a string_view from "
4796
184
                                     "this source range (would require "
4797
184
                                     "transcoding)");
4798
184
    }
4799
184
    else {
4800
184
        const auto view = src.view();
4801
184
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
184
        if (!validate_unicode(value)) {
4804
54
            return unexpected_scan_error(
4805
54
                scan_error::invalid_scanned_value,
4806
54
                "Invalid encoding in scanned string_view");
4807
54
        }
4808
4809
130
        return SCN_MOVE(result);
4810
184
    }
4811
184
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
942
{
4773
942
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
942
    auto src = [&]() {
4776
942
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
942
            return make_contiguous_buffer(
4778
942
                ranges::subrange{range.begin().base(), result.base()});
4779
942
        }
4780
942
        else {
4781
942
            return make_contiguous_buffer(
4782
942
                ranges::subrange{range.begin(), result});
4783
942
        }
4784
942
    }();
4785
942
    using src_type = decltype(src);
4786
4787
942
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
942
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
942
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
942
                                     "Cannot read a string_view from "
4796
942
                                     "this source range (would require "
4797
942
                                     "transcoding)");
4798
942
    }
4799
942
    else {
4800
942
        const auto view = src.view();
4801
942
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
942
        if (!validate_unicode(value)) {
4804
308
            return unexpected_scan_error(
4805
308
                scan_error::invalid_scanned_value,
4806
308
                "Invalid encoding in scanned string_view");
4807
308
        }
4808
4809
634
        return SCN_MOVE(result);
4810
942
    }
4811
942
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
1.13k
{
4773
1.13k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
1.13k
    auto src = [&]() {
4776
1.13k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
1.13k
            return make_contiguous_buffer(
4778
1.13k
                ranges::subrange{range.begin().base(), result.base()});
4779
1.13k
        }
4780
1.13k
        else {
4781
1.13k
            return make_contiguous_buffer(
4782
1.13k
                ranges::subrange{range.begin(), result});
4783
1.13k
        }
4784
1.13k
    }();
4785
1.13k
    using src_type = decltype(src);
4786
4787
1.13k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
1.13k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
1.13k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
1.13k
                                     "Cannot read a string_view from "
4796
1.13k
                                     "this source range (would require "
4797
1.13k
                                     "transcoding)");
4798
1.13k
    }
4799
1.13k
    else {
4800
1.13k
        const auto view = src.view();
4801
1.13k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
1.13k
        if (!validate_unicode(value)) {
4804
124
            return unexpected_scan_error(
4805
124
                scan_error::invalid_scanned_value,
4806
124
                "Invalid encoding in scanned string_view");
4807
124
        }
4808
4809
1.01k
        return SCN_MOVE(result);
4810
1.13k
    }
4811
1.13k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
142
{
4773
142
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
142
    auto src = [&]() {
4776
142
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
142
            return make_contiguous_buffer(
4778
142
                ranges::subrange{range.begin().base(), result.base()});
4779
142
        }
4780
142
        else {
4781
142
            return make_contiguous_buffer(
4782
142
                ranges::subrange{range.begin(), result});
4783
142
        }
4784
142
    }();
4785
142
    using src_type = decltype(src);
4786
4787
142
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
142
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
142
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
142
                                     "Cannot read a string_view from "
4796
142
                                     "this source range (would require "
4797
142
                                     "transcoding)");
4798
142
    }
4799
142
    else {
4800
142
        const auto view = src.view();
4801
142
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
142
        if (!validate_unicode(value)) {
4804
76
            return unexpected_scan_error(
4805
76
                scan_error::invalid_scanned_value,
4806
76
                "Invalid encoding in scanned string_view");
4807
76
        }
4808
4809
66
        return SCN_MOVE(result);
4810
142
    }
4811
142
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
820
{
4773
820
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
820
    auto src = [&]() {
4776
820
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
820
            return make_contiguous_buffer(
4778
820
                ranges::subrange{range.begin().base(), result.base()});
4779
820
        }
4780
820
        else {
4781
820
            return make_contiguous_buffer(
4782
820
                ranges::subrange{range.begin(), result});
4783
820
        }
4784
820
    }();
4785
820
    using src_type = decltype(src);
4786
4787
820
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
820
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
820
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
820
                                     "Cannot read a string_view from "
4796
820
                                     "this source range (would require "
4797
820
                                     "transcoding)");
4798
820
    }
4799
820
    else {
4800
820
        const auto view = src.view();
4801
820
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
820
        if (!validate_unicode(value)) {
4804
272
            return unexpected_scan_error(
4805
272
                scan_error::invalid_scanned_value,
4806
272
                "Invalid encoding in scanned string_view");
4807
272
        }
4808
4809
548
        return SCN_MOVE(result);
4810
820
    }
4811
820
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
112
{
4773
112
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
112
    auto src = [&]() {
4776
112
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
112
            return make_contiguous_buffer(
4778
112
                ranges::subrange{range.begin().base(), result.base()});
4779
112
        }
4780
112
        else {
4781
112
            return make_contiguous_buffer(
4782
112
                ranges::subrange{range.begin(), result});
4783
112
        }
4784
112
    }();
4785
112
    using src_type = decltype(src);
4786
4787
112
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
112
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
112
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
112
                                     "Cannot read a string_view from "
4796
112
                                     "this source range (would require "
4797
112
                                     "transcoding)");
4798
112
    }
4799
112
    else {
4800
112
        const auto view = src.view();
4801
112
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
112
        if (!validate_unicode(value)) {
4804
0
            return unexpected_scan_error(
4805
0
                scan_error::invalid_scanned_value,
4806
0
                "Invalid encoding in scanned string_view");
4807
0
        }
4808
4809
112
        return SCN_MOVE(result);
4810
112
    }
4811
112
}
4812
4813
template <typename SourceCharT>
4814
class word_reader_impl {
4815
public:
4816
    template <typename Range, typename ValueCharT>
4817
    auto read(Range range, std::basic_string<ValueCharT>& value)
4818
        -> scan_expected<ranges::const_iterator_t<Range>>
4819
4.07k
    {
4820
4.07k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
4.07k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
244
    {
4820
244
        return read_string_impl(range, read_until_classic_space(range), value);
4821
244
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
896
    {
4820
896
        return read_string_impl(range, read_until_classic_space(range), value);
4821
896
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
244
    {
4820
244
        return read_string_impl(range, read_until_classic_space(range), value);
4821
244
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
896
    {
4820
896
        return read_string_impl(range, read_until_classic_space(range), value);
4821
896
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
102
    {
4820
102
        return read_string_impl(range, read_until_classic_space(range), value);
4821
102
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
794
    {
4820
794
        return read_string_impl(range, read_until_classic_space(range), value);
4821
794
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
102
    {
4820
102
        return read_string_impl(range, read_until_classic_space(range), value);
4821
102
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
794
    {
4820
794
        return read_string_impl(range, read_until_classic_space(range), value);
4821
794
    }
4822
4823
    template <typename Range, typename ValueCharT>
4824
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4825
        -> scan_expected<ranges::const_iterator_t<Range>>
4826
2.03k
    {
4827
2.03k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
2.03k
                                     value);
4829
2.03k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
244
    {
4827
244
        return read_string_view_impl(range, read_until_classic_space(range),
4828
244
                                     value);
4829
244
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
896
    {
4827
896
        return read_string_view_impl(range, read_until_classic_space(range),
4828
896
                                     value);
4829
896
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
102
    {
4827
102
        return read_string_view_impl(range, read_until_classic_space(range),
4828
102
                                     value);
4829
102
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
794
    {
4827
794
        return read_string_view_impl(range, read_until_classic_space(range),
4828
794
                                     value);
4829
794
    }
4830
};
4831
4832
template <typename SourceCharT>
4833
class custom_word_reader_impl {
4834
public:
4835
    template <typename Range, typename ValueCharT>
4836
    auto read(Range range,
4837
              const detail::format_specs& specs,
4838
              std::basic_string<ValueCharT>& value)
4839
        -> scan_expected<ranges::const_iterator_t<Range>>
4840
288
    {
4841
288
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
224
            return read_string_impl(
4843
224
                range,
4844
224
                read_until_code_unit(
4845
224
                    range,
4846
224
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
3.76k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
784
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
454
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
784
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
454
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
230
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
412
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
230
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
412
                        SourceCharT ch) { return ch == until; }),
4848
224
                value);
4849
224
        }
4850
64
        return read_string_impl(
4851
64
            range,
4852
64
            read_until_code_units(
4853
64
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
64
            value);
4855
288
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
52
    {
4841
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
34
            return read_string_impl(
4843
34
                range,
4844
34
                read_until_code_unit(
4845
34
                    range,
4846
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
34
                        SourceCharT ch) { return ch == until; }),
4848
34
                value);
4849
34
        }
4850
18
        return read_string_impl(
4851
18
            range,
4852
18
            read_until_code_units(
4853
18
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
18
            value);
4855
52
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
46
    {
4841
46
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
32
            return read_string_impl(
4843
32
                range,
4844
32
                read_until_code_unit(
4845
32
                    range,
4846
32
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
32
                        SourceCharT ch) { return ch == until; }),
4848
32
                value);
4849
32
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
46
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
52
    {
4841
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
34
            return read_string_impl(
4843
34
                range,
4844
34
                read_until_code_unit(
4845
34
                    range,
4846
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
34
                        SourceCharT ch) { return ch == until; }),
4848
34
                value);
4849
34
        }
4850
18
        return read_string_impl(
4851
18
            range,
4852
18
            read_until_code_units(
4853
18
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
18
            value);
4855
52
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
46
    {
4841
46
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
32
            return read_string_impl(
4843
32
                range,
4844
32
                read_until_code_unit(
4845
32
                    range,
4846
32
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
32
                        SourceCharT ch) { return ch == until; }),
4848
32
                value);
4849
32
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
46
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
20
    {
4841
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
20
            return read_string_impl(
4843
20
                range,
4844
20
                read_until_code_unit(
4845
20
                    range,
4846
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
20
                        SourceCharT ch) { return ch == until; }),
4848
20
                value);
4849
20
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
26
    {
4841
26
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
26
            return read_string_impl(
4843
26
                range,
4844
26
                read_until_code_unit(
4845
26
                    range,
4846
26
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
26
                        SourceCharT ch) { return ch == until; }),
4848
26
                value);
4849
26
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
26
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
20
    {
4841
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
20
            return read_string_impl(
4843
20
                range,
4844
20
                read_until_code_unit(
4845
20
                    range,
4846
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
20
                        SourceCharT ch) { return ch == until; }),
4848
20
                value);
4849
20
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
26
    {
4841
26
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
26
            return read_string_impl(
4843
26
                range,
4844
26
                read_until_code_unit(
4845
26
                    range,
4846
26
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
26
                        SourceCharT ch) { return ch == until; }),
4848
26
                value);
4849
26
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
26
    }
4856
4857
    template <typename Range, typename ValueCharT>
4858
    auto read(Range range,
4859
              const detail::format_specs& specs,
4860
              std::basic_string_view<ValueCharT>& value)
4861
        -> scan_expected<ranges::const_iterator_t<Range>>
4862
144
    {
4863
144
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
112
            return read_string_view_impl(
4865
112
                range,
4866
112
                read_until_code_unit(
4867
112
                    range,
4868
112
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
1.88k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Line
Count
Source
4869
784
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Line
Count
Source
4869
454
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Line
Count
Source
4869
230
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Line
Count
Source
4869
412
                        SourceCharT ch) { return ch == until; }),
4870
112
                value);
4871
112
        }
4872
32
        return read_string_view_impl(
4873
32
            range,
4874
32
            read_until_code_units(
4875
32
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
32
            value);
4877
144
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
52
    {
4863
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
34
            return read_string_view_impl(
4865
34
                range,
4866
34
                read_until_code_unit(
4867
34
                    range,
4868
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
34
                        SourceCharT ch) { return ch == until; }),
4870
34
                value);
4871
34
        }
4872
18
        return read_string_view_impl(
4873
18
            range,
4874
18
            read_until_code_units(
4875
18
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
18
            value);
4877
52
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
46
    {
4863
46
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
32
            return read_string_view_impl(
4865
32
                range,
4866
32
                read_until_code_unit(
4867
32
                    range,
4868
32
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
32
                        SourceCharT ch) { return ch == until; }),
4870
32
                value);
4871
32
        }
4872
14
        return read_string_view_impl(
4873
14
            range,
4874
14
            read_until_code_units(
4875
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
14
            value);
4877
46
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
20
    {
4863
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
20
            return read_string_view_impl(
4865
20
                range,
4866
20
                read_until_code_unit(
4867
20
                    range,
4868
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
20
                        SourceCharT ch) { return ch == until; }),
4870
20
                value);
4871
20
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
26
    {
4863
26
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
26
            return read_string_view_impl(
4865
26
                range,
4866
26
                read_until_code_unit(
4867
26
                    range,
4868
26
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
26
                        SourceCharT ch) { return ch == until; }),
4870
26
                value);
4871
26
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
26
    }
4878
};
4879
4880
#if !SCN_DISABLE_REGEX
4881
template <typename SourceCharT>
4882
class regex_string_reader_impl {
4883
public:
4884
    template <typename Range, typename ValueCharT>
4885
    auto read(Range range,
4886
              std::basic_string_view<SourceCharT> pattern,
4887
              detail::regex_flags flags,
4888
              std::basic_string<ValueCharT>& value)
4889
        -> scan_expected<ranges::const_iterator_t<Range>>
4890
9.03k
    {
4891
9.03k
        SCN_TRY(it, impl(range, pattern, flags));
4892
1.17k
        return read_string_impl(range, it, value);
4893
9.03k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
118
    {
4891
118
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
118
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.15k
    {
4891
3.15k
        SCN_TRY(it, impl(range, pattern, flags));
4892
532
        return read_string_impl(range, it, value);
4893
3.15k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
118
    {
4891
118
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
118
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.15k
    {
4891
3.15k
        SCN_TRY(it, impl(range, pattern, flags));
4892
532
        return read_string_impl(range, it, value);
4893
3.15k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
8
    {
4891
8
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
8
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.23k
    {
4891
1.23k
        SCN_TRY(it, impl(range, pattern, flags));
4892
54
        return read_string_impl(range, it, value);
4893
1.23k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
8
    {
4891
8
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
8
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.23k
    {
4891
1.23k
        SCN_TRY(it, impl(range, pattern, flags));
4892
54
        return read_string_impl(range, it, value);
4893
1.23k
    }
4894
4895
    template <typename Range, typename ValueCharT>
4896
    auto read(Range range,
4897
              std::basic_string_view<SourceCharT> pattern,
4898
              detail::regex_flags flags,
4899
              std::basic_string_view<ValueCharT>& value)
4900
        -> scan_expected<ranges::const_iterator_t<Range>>
4901
4.51k
    {
4902
4.51k
        SCN_TRY(it, impl(range, pattern, flags));
4903
586
        return read_string_view_impl(range, it, value);
4904
4.51k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
118
    {
4902
118
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
118
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
3.15k
    {
4902
3.15k
        SCN_TRY(it, impl(range, pattern, flags));
4903
532
        return read_string_view_impl(range, it, value);
4904
3.15k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
8
    {
4902
8
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
8
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
1.23k
    {
4902
1.23k
        SCN_TRY(it, impl(range, pattern, flags));
4903
54
        return read_string_view_impl(range, it, value);
4904
1.23k
    }
4905
4906
private:
4907
    template <typename Range>
4908
    auto impl(Range range,
4909
              std::basic_string_view<SourceCharT> pattern,
4910
              detail::regex_flags flags)
4911
        -> scan_expected<ranges::const_iterator_t<Range>>
4912
13.5k
    {
4913
13.5k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
13.5k
                      !std::is_same_v<SourceCharT, char>) {
4915
13.5k
            return unexpected_scan_error(
4916
13.5k
                scan_error::invalid_scanned_value,
4917
13.5k
                "Regex backend doesn't support wide strings as input");
4918
13.5k
        }
4919
13.5k
        else {
4920
13.5k
            if (!is_entire_source_contiguous(range)) {
4921
378
                return unexpected_scan_error(
4922
378
                    scan_error::invalid_scanned_value,
4923
378
                    "Cannot use regex with a non-contiguous source "
4924
378
                    "range");
4925
378
            }
4926
4927
13.1k
            auto input = get_as_contiguous(range);
4928
13.1k
            SCN_TRY(it,
4929
1.75k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.75k
            return ranges::next(range.begin(),
4931
1.75k
                                ranges::distance(input.begin(), it));
4932
13.1k
        }
4933
13.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
354
    {
4913
354
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
354
                      !std::is_same_v<SourceCharT, char>) {
4915
354
            return unexpected_scan_error(
4916
354
                scan_error::invalid_scanned_value,
4917
354
                "Regex backend doesn't support wide strings as input");
4918
354
        }
4919
354
        else {
4920
354
            if (!is_entire_source_contiguous(range)) {
4921
354
                return unexpected_scan_error(
4922
354
                    scan_error::invalid_scanned_value,
4923
354
                    "Cannot use regex with a non-contiguous source "
4924
354
                    "range");
4925
354
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
354
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
9.45k
    {
4913
9.45k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
9.45k
                      !std::is_same_v<SourceCharT, char>) {
4915
9.45k
            return unexpected_scan_error(
4916
9.45k
                scan_error::invalid_scanned_value,
4917
9.45k
                "Regex backend doesn't support wide strings as input");
4918
9.45k
        }
4919
9.45k
        else {
4920
9.45k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
9.45k
            auto input = get_as_contiguous(range);
4928
9.45k
            SCN_TRY(it,
4929
1.59k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.59k
            return ranges::next(range.begin(),
4931
1.59k
                                ranges::distance(input.begin(), it));
4932
9.45k
        }
4933
9.45k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
24
    {
4913
24
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
24
                      !std::is_same_v<SourceCharT, char>) {
4915
24
            return unexpected_scan_error(
4916
24
                scan_error::invalid_scanned_value,
4917
24
                "Regex backend doesn't support wide strings as input");
4918
24
        }
4919
24
        else {
4920
24
            if (!is_entire_source_contiguous(range)) {
4921
24
                return unexpected_scan_error(
4922
24
                    scan_error::invalid_scanned_value,
4923
24
                    "Cannot use regex with a non-contiguous source "
4924
24
                    "range");
4925
24
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
24
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
3.71k
    {
4913
3.71k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
3.71k
                      !std::is_same_v<SourceCharT, char>) {
4915
3.71k
            return unexpected_scan_error(
4916
3.71k
                scan_error::invalid_scanned_value,
4917
3.71k
                "Regex backend doesn't support wide strings as input");
4918
3.71k
        }
4919
3.71k
        else {
4920
3.71k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
3.71k
            auto input = get_as_contiguous(range);
4928
3.71k
            SCN_TRY(it,
4929
162
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
162
            return ranges::next(range.begin(),
4931
162
                                ranges::distance(input.begin(), it));
4932
3.71k
        }
4933
3.71k
    }
4934
};
4935
#endif
4936
4937
template <typename SourceCharT>
4938
class character_reader_impl {
4939
public:
4940
    // Note: no localized version,
4941
    // since it's equivalent in behavior
4942
4943
    template <typename Range, typename ValueCharT>
4944
    auto read(Range range, std::basic_string<ValueCharT>& value)
4945
        -> scan_expected<ranges::const_iterator_t<Range>>
4946
108
    {
4947
108
        return read_impl(
4948
108
            range,
4949
108
            [&](const auto& rng) {
4950
108
                return read_string_impl(rng, read_all(rng), value);
4951
108
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
20
            [&](const auto& rng) {
4950
20
                return read_string_impl(rng, read_all(rng), value);
4951
20
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
20
            [&](const auto& rng) {
4950
20
                return read_string_impl(rng, read_all(rng), value);
4951
20
            },
4952
108
            detail::priority_tag<1>{});
4953
108
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
34
    {
4947
34
        return read_impl(
4948
34
            range,
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
4952
34
            detail::priority_tag<1>{});
4953
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
34
    {
4947
34
        return read_impl(
4948
34
            range,
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
4952
34
            detail::priority_tag<1>{});
4953
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
20
    {
4947
20
        return read_impl(
4948
20
            range,
4949
20
            [&](const auto& rng) {
4950
20
                return read_string_impl(rng, read_all(rng), value);
4951
20
            },
4952
20
            detail::priority_tag<1>{});
4953
20
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
20
    {
4947
20
        return read_impl(
4948
20
            range,
4949
20
            [&](const auto& rng) {
4950
20
                return read_string_impl(rng, read_all(rng), value);
4951
20
            },
4952
20
            detail::priority_tag<1>{});
4953
20
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
4954
4955
    template <typename Range, typename ValueCharT>
4956
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4957
        -> scan_expected<ranges::const_iterator_t<Range>>
4958
54
    {
4959
54
        return read_impl(
4960
54
            range,
4961
54
            [&](const auto& rng) {
4962
54
                return read_string_view_impl(rng, read_all(rng), value);
4963
54
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
34
            [&](const auto& rng) {
4962
34
                return read_string_view_impl(rng, read_all(rng), value);
4963
34
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
20
            [&](const auto& rng) {
4962
20
                return read_string_view_impl(rng, read_all(rng), value);
4963
20
            },
4964
54
            detail::priority_tag<1>{});
4965
54
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
34
    {
4959
34
        return read_impl(
4960
34
            range,
4961
34
            [&](const auto& rng) {
4962
34
                return read_string_view_impl(rng, read_all(rng), value);
4963
34
            },
4964
34
            detail::priority_tag<1>{});
4965
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
20
    {
4959
20
        return read_impl(
4960
20
            range,
4961
20
            [&](const auto& rng) {
4962
20
                return read_string_view_impl(rng, read_all(rng), value);
4963
20
            },
4964
20
            detail::priority_tag<1>{});
4965
20
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
4966
4967
private:
4968
    template <typename View, typename ReadCb>
4969
    static auto read_impl(const take_width_view<View>& range,
4970
                          ReadCb&& read_cb,
4971
                          detail::priority_tag<1>)
4972
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
4973
162
    {
4974
162
        return read_cb(range);
4975
162
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
34
    {
4974
34
        return read_cb(range);
4975
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
34
    {
4974
34
        return read_cb(range);
4975
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
34
    {
4974
34
        return read_cb(range);
4975
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
20
    {
4974
20
        return read_cb(range);
4975
20
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
20
    {
4974
20
        return read_cb(range);
4975
20
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
20
    {
4974
20
        return read_cb(range);
4975
20
    }
4976
4977
    template <typename Range, typename ReadCb>
4978
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
4979
        -> scan_expected<ranges::const_iterator_t<Range>>
4980
0
    {
4981
0
        return unexpected_scan_error(
4982
0
            scan_error::invalid_scanned_value,
4983
0
            "character_reader requires take_width_view");
4984
0
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
4985
};
4986
4987
struct nonascii_specs_handler {
4988
    void on_charset_single(char32_t cp)
4989
488k
    {
4990
488k
        on_charset_range(cp, cp + 1);
4991
488k
    }
4992
4993
    void on_charset_range(char32_t begin, char32_t end)
4994
490k
    {
4995
490k
        if (end <= 127) {
4996
281k
            return;
4997
281k
        }
4998
4999
40.7M
        for (auto& elem : extra_ranges) {
5000
            // TODO: check for overlap
5001
40.7M
            if (elem.first == end) {
5002
120
                elem.first = begin;
5003
120
                return;
5004
120
            }
5005
5006
40.7M
            if (elem.second == begin) {
5007
1.06k
                elem.second = end;
5008
1.06k
                return;
5009
1.06k
            }
5010
40.7M
        }
5011
5012
207k
        extra_ranges.push_back(std::make_pair(begin, end));
5013
207k
    }
5014
5015
    constexpr void on_charset_inverted() const
5016
336
    {
5017
        // no-op
5018
336
    }
5019
5020
    constexpr void on_error(const char* msg)
5021
0
    {
5022
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5023
0
    }
5024
    constexpr void on_error(scan_error e)
5025
0
    {
5026
0
        SCN_UNLIKELY_ATTR
5027
0
        err = e;
5028
0
    }
5029
5030
    constexpr explicit operator bool() const
5031
496k
    {
5032
496k
        return static_cast<bool>(err);
5033
496k
    }
5034
5035
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5036
    scan_error err;
5037
};
5038
5039
template <typename SourceCharT>
5040
class character_set_reader_impl {
5041
public:
5042
    template <typename Range, typename ValueCharT>
5043
    auto read(Range range,
5044
              const detail::format_specs& specs,
5045
              std::basic_string<ValueCharT>& value)
5046
        -> scan_expected<ranges::const_iterator_t<Range>>
5047
2.32k
    {
5048
2.32k
        auto it = read_source_impl(range, {specs});
5049
2.32k
        if (SCN_UNLIKELY(!it)) {
5050
632
            return unexpected(it.error());
5051
632
        }
5052
5053
1.69k
        return read_string_impl(range, *it, value);
5054
2.32k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
194
    {
5048
194
        auto it = read_source_impl(range, {specs});
5049
194
        if (SCN_UNLIKELY(!it)) {
5050
10
            return unexpected(it.error());
5051
10
        }
5052
5053
184
        return read_string_impl(range, *it, value);
5054
194
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
896
    {
5048
896
        auto it = read_source_impl(range, {specs});
5049
896
        if (SCN_UNLIKELY(!it)) {
5050
292
            return unexpected(it.error());
5051
292
        }
5052
5053
604
        return read_string_impl(range, *it, value);
5054
896
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
194
    {
5048
194
        auto it = read_source_impl(range, {specs});
5049
194
        if (SCN_UNLIKELY(!it)) {
5050
10
            return unexpected(it.error());
5051
10
        }
5052
5053
184
        return read_string_impl(range, *it, value);
5054
194
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
896
    {
5048
896
        auto it = read_source_impl(range, {specs});
5049
896
        if (SCN_UNLIKELY(!it)) {
5050
292
            return unexpected(it.error());
5051
292
        }
5052
5053
604
        return read_string_impl(range, *it, value);
5054
896
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
72
    {
5048
72
        auto it = read_source_impl(range, {specs});
5049
72
        if (SCN_UNLIKELY(!it)) {
5050
14
            return unexpected(it.error());
5051
14
        }
5052
5053
58
        return read_string_impl(range, *it, value);
5054
72
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
72
    {
5048
72
        auto it = read_source_impl(range, {specs});
5049
72
        if (SCN_UNLIKELY(!it)) {
5050
14
            return unexpected(it.error());
5051
14
        }
5052
5053
58
        return read_string_impl(range, *it, value);
5054
72
    }
5055
5056
    template <typename Range, typename ValueCharT>
5057
    auto read(Range range,
5058
              const detail::format_specs& specs,
5059
              std::basic_string_view<ValueCharT>& value)
5060
        -> scan_expected<ranges::const_iterator_t<Range>>
5061
1.16k
    {
5062
1.16k
        auto it = read_source_impl(range, {specs});
5063
1.16k
        if (SCN_UNLIKELY(!it)) {
5064
316
            return unexpected(it.error());
5065
316
        }
5066
5067
846
        return read_string_view_impl(range, *it, value);
5068
1.16k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5061
194
    {
5062
194
        auto it = read_source_impl(range, {specs});
5063
194
        if (SCN_UNLIKELY(!it)) {
5064
10
            return unexpected(it.error());
5065
10
        }
5066
5067
184
        return read_string_view_impl(range, *it, value);
5068
194
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
896
    {
5062
896
        auto it = read_source_impl(range, {specs});
5063
896
        if (SCN_UNLIKELY(!it)) {
5064
292
            return unexpected(it.error());
5065
292
        }
5066
5067
604
        return read_string_view_impl(range, *it, value);
5068
896
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
72
    {
5062
72
        auto it = read_source_impl(range, {specs});
5063
72
        if (SCN_UNLIKELY(!it)) {
5064
14
            return unexpected(it.error());
5065
14
        }
5066
5067
58
        return read_string_view_impl(range, *it, value);
5068
72
    }
5069
5070
private:
5071
    struct specs_helper {
5072
3.48k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
3.27k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
216
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5073
5074
        constexpr bool is_char_set_in_literals(char ch) const
5075
365k
        {
5076
365k
            SCN_EXPECT(is_ascii_char(ch));
5077
365k
            const auto val =
5078
365k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
365k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
365k
                    (val % 8)) &
5081
365k
                   1u;
5082
365k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
361k
        {
5076
361k
            SCN_EXPECT(is_ascii_char(ch));
5077
361k
            const auto val =
5078
361k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
361k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
361k
                    (val % 8)) &
5081
361k
                   1u;
5082
361k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
4.33k
        {
5076
4.33k
            SCN_EXPECT(is_ascii_char(ch));
5077
4.33k
            const auto val =
5078
4.33k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
4.33k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
4.33k
                    (val % 8)) &
5081
4.33k
                   1u;
5082
4.33k
        }
5083
5084
        bool is_char_set_in_extra_literals(char32_t cp) const
5085
45.9k
        {
5086
            // TODO: binary search?
5087
45.9k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
45.9k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
45.9k
            return std::find_if(
5093
45.9k
                       nonascii.extra_ranges.begin(),
5094
45.9k
                       nonascii.extra_ranges.end(),
5095
11.6M
                       [cp_val](const auto& pair) noexcept {
5096
11.6M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
11.6M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
11.6M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
11.5M
                       [cp_val](const auto& pair) noexcept {
5096
11.5M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
11.5M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
11.5M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
1.38k
                       [cp_val](const auto& pair) noexcept {
5096
1.38k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
1.38k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
1.38k
                       }) != nonascii.extra_ranges.end();
5099
45.9k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
45.4k
        {
5086
            // TODO: binary search?
5087
45.4k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
45.4k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
45.4k
            return std::find_if(
5093
45.4k
                       nonascii.extra_ranges.begin(),
5094
45.4k
                       nonascii.extra_ranges.end(),
5095
45.4k
                       [cp_val](const auto& pair) noexcept {
5096
45.4k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
45.4k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
45.4k
                       }) != nonascii.extra_ranges.end();
5099
45.4k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
486
        {
5086
            // TODO: binary search?
5087
486
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
486
            const auto cp_val = static_cast<uint32_t>(cp);
5092
486
            return std::find_if(
5093
486
                       nonascii.extra_ranges.begin(),
5094
486
                       nonascii.extra_ranges.end(),
5095
486
                       [cp_val](const auto& pair) noexcept {
5096
486
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
486
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
486
                       }) != nonascii.extra_ranges.end();
5099
486
        }
5100
5101
        scan_error handle_nonascii()
5102
3.48k
        {
5103
3.48k
            if (!specs.charset_has_nonascii) {
5104
624
                return {};
5105
624
            }
5106
5107
2.86k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.86k
            auto it = detail::to_address(charset_string.begin());
5109
2.86k
            auto set = detail::parse_presentation_set(
5110
2.86k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.86k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.86k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.86k
            SCN_ENSURE(set == charset_string);
5116
5117
2.86k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.86k
                      nonascii.extra_ranges.end());
5119
2.86k
            return {};
5120
2.86k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5102
3.27k
        {
5103
3.27k
            if (!specs.charset_has_nonascii) {
5104
576
                return {};
5105
576
            }
5106
5107
2.69k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.69k
            auto it = detail::to_address(charset_string.begin());
5109
2.69k
            auto set = detail::parse_presentation_set(
5110
2.69k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.69k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.69k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.69k
            SCN_ENSURE(set == charset_string);
5116
5117
2.69k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.69k
                      nonascii.extra_ranges.end());
5119
2.69k
            return {};
5120
2.69k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5102
216
        {
5103
216
            if (!specs.charset_has_nonascii) {
5104
48
                return {};
5105
48
            }
5106
5107
168
            auto charset_string = specs.charset_string<SourceCharT>();
5108
168
            auto it = detail::to_address(charset_string.begin());
5109
168
            auto set = detail::parse_presentation_set(
5110
168
                it, detail::to_address(charset_string.end()), nonascii);
5111
168
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
168
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
168
            SCN_ENSURE(set == charset_string);
5116
5117
168
            std::sort(nonascii.extra_ranges.begin(),
5118
168
                      nonascii.extra_ranges.end());
5119
168
            return {};
5120
168
        }
5121
5122
        const detail::format_specs& specs;
5123
        nonascii_specs_handler nonascii;
5124
    };
5125
5126
    struct read_source_callback {
5127
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5128
10.1k
        {
5129
10.1k
            if (!is_ascii_char(ch)) {
5130
2.62k
                return false;
5131
2.62k
            }
5132
5133
7.53k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
10.1k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5128
9.73k
        {
5129
9.73k
            if (!is_ascii_char(ch)) {
5130
2.62k
                return false;
5131
2.62k
            }
5132
5133
7.11k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
9.73k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5128
426
        {
5129
426
            if (!is_ascii_char(ch)) {
5130
0
                return false;
5131
0
            }
5132
5133
426
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
426
        }
5135
5136
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5137
403k
        {
5138
403k
            if (!is_ascii_char(cp)) {
5139
45.9k
                return helper.is_char_set_in_extra_literals(cp);
5140
45.9k
            }
5141
5142
357k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
403k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
399k
        {
5138
399k
            if (!is_ascii_char(cp)) {
5139
45.4k
                return helper.is_char_set_in_extra_literals(cp);
5140
45.4k
            }
5141
5142
354k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
399k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
4.39k
        {
5138
4.39k
            if (!is_ascii_char(cp)) {
5139
486
                return helper.is_char_set_in_extra_literals(cp);
5140
486
            }
5141
5142
3.90k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
4.39k
        }
5144
5145
        const specs_helper& helper;
5146
        detail::locale_ref loc{};
5147
    };
5148
5149
    template <typename Range>
5150
    auto read_source_impl(Range range, specs_helper helper) const
5151
        -> scan_expected<ranges::const_iterator_t<Range>>
5152
3.48k
    {
5153
3.48k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
3.48k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
3.48k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
3.48k
        read_source_callback cb_wrapper{helper};
5161
5162
3.48k
        if (accepts_nonascii) {
5163
403k
            const auto cb = [&](char32_t cp) {
5164
403k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
403k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
36.5k
            const auto cb = [&](char32_t cp) {
5164
36.5k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
36.5k
            };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
362k
            const auto cb = [&](char32_t cp) {
5164
362k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
362k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
4.39k
            const auto cb = [&](char32_t cp) {
5164
4.39k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
4.39k
            };
5166
5167
2.86k
            if (is_inverted) {
5168
336
                auto it = read_until_code_point(range, cb);
5169
336
                return check_nonempty(it, range);
5170
336
            }
5171
2.52k
            auto it = read_while_code_point(range, cb);
5172
2.52k
            return check_nonempty(it, range);
5173
2.86k
        }
5174
5175
10.1k
        const auto cb = [&](SourceCharT ch) {
5176
10.1k
            return cb_wrapper.on_ascii_only(ch);
5177
10.1k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
5.51k
        const auto cb = [&](SourceCharT ch) {
5176
5.51k
            return cb_wrapper.on_ascii_only(ch);
5177
5.51k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
4.22k
        const auto cb = [&](SourceCharT ch) {
5176
4.22k
            return cb_wrapper.on_ascii_only(ch);
5177
4.22k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
426
        const auto cb = [&](SourceCharT ch) {
5176
426
            return cb_wrapper.on_ascii_only(ch);
5177
426
        };
5178
5179
624
        if (is_inverted) {
5180
288
            auto it = read_until_code_unit(range, cb);
5181
288
            return check_nonempty(it, range);
5182
288
        }
5183
336
        auto it = read_while_code_unit(range, cb);
5184
336
        return check_nonempty(it, range);
5185
624
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5152
582
    {
5153
582
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
582
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
582
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
582
        read_source_callback cb_wrapper{helper};
5161
5162
582
        if (accepts_nonascii) {
5163
336
            const auto cb = [&](char32_t cp) {
5164
336
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
336
            };
5166
5167
336
            if (is_inverted) {
5168
102
                auto it = read_until_code_point(range, cb);
5169
102
                return check_nonempty(it, range);
5170
102
            }
5171
234
            auto it = read_while_code_point(range, cb);
5172
234
            return check_nonempty(it, range);
5173
336
        }
5174
5175
246
        const auto cb = [&](SourceCharT ch) {
5176
246
            return cb_wrapper.on_ascii_only(ch);
5177
246
        };
5178
5179
246
        if (is_inverted) {
5180
132
            auto it = read_until_code_unit(range, cb);
5181
132
            return check_nonempty(it, range);
5182
132
        }
5183
114
        auto it = read_while_code_unit(range, cb);
5184
114
        return check_nonempty(it, range);
5185
246
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
2.68k
    {
5153
2.68k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
2.68k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
2.68k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
2.68k
        read_source_callback cb_wrapper{helper};
5161
5162
2.68k
        if (accepts_nonascii) {
5163
2.35k
            const auto cb = [&](char32_t cp) {
5164
2.35k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
2.35k
            };
5166
5167
2.35k
            if (is_inverted) {
5168
234
                auto it = read_until_code_point(range, cb);
5169
234
                return check_nonempty(it, range);
5170
234
            }
5171
2.12k
            auto it = read_while_code_point(range, cb);
5172
2.12k
            return check_nonempty(it, range);
5173
2.35k
        }
5174
5175
330
        const auto cb = [&](SourceCharT ch) {
5176
330
            return cb_wrapper.on_ascii_only(ch);
5177
330
        };
5178
5179
330
        if (is_inverted) {
5180
156
            auto it = read_until_code_unit(range, cb);
5181
156
            return check_nonempty(it, range);
5182
156
        }
5183
174
        auto it = read_while_code_unit(range, cb);
5184
174
        return check_nonempty(it, range);
5185
330
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
216
    {
5153
216
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
216
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
216
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
216
        read_source_callback cb_wrapper{helper};
5161
5162
216
        if (accepts_nonascii) {
5163
168
            const auto cb = [&](char32_t cp) {
5164
168
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
168
            };
5166
5167
168
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
168
            auto it = read_while_code_point(range, cb);
5172
168
            return check_nonempty(it, range);
5173
168
        }
5174
5175
48
        const auto cb = [&](SourceCharT ch) {
5176
48
            return cb_wrapper.on_ascii_only(ch);
5177
48
        };
5178
5179
48
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
48
        auto it = read_while_code_unit(range, cb);
5184
48
        return check_nonempty(it, range);
5185
48
    }
5186
5187
    template <typename Iterator, typename Range>
5188
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5189
                                                  Range range)
5190
3.48k
    {
5191
3.48k
        if (it == range.begin()) {
5192
948
            return unexpected_scan_error(
5193
948
                scan_error::invalid_scanned_value,
5194
948
                "No characters matched in [character set]");
5195
948
        }
5196
5197
2.53k
        return it;
5198
3.48k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5190
582
    {
5191
582
        if (it == range.begin()) {
5192
30
            return unexpected_scan_error(
5193
30
                scan_error::invalid_scanned_value,
5194
30
                "No characters matched in [character set]");
5195
30
        }
5196
5197
552
        return it;
5198
582
    }
scn::v3::scan_expected<char const*> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5190
2.68k
    {
5191
2.68k
        if (it == range.begin()) {
5192
876
            return unexpected_scan_error(
5193
876
                scan_error::invalid_scanned_value,
5194
876
                "No characters matched in [character set]");
5195
876
        }
5196
5197
1.81k
        return it;
5198
2.68k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5190
216
    {
5191
216
        if (it == range.begin()) {
5192
42
            return unexpected_scan_error(
5193
42
                scan_error::invalid_scanned_value,
5194
42
                "No characters matched in [character set]");
5195
42
        }
5196
5197
174
        return it;
5198
216
    }
5199
};
5200
5201
template <typename SourceCharT>
5202
class string_reader
5203
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5204
public:
5205
24.3k
    constexpr string_reader() = default;
scn::v3::impl::string_reader<char>::string_reader()
Line
Count
Source
5205
17.3k
    constexpr string_reader() = default;
scn::v3::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5205
7.05k
    constexpr string_reader() = default;
5206
5207
    void check_specs_impl(const detail::format_specs& specs,
5208
                          reader_error_handler& eh)
5209
21.0k
    {
5210
21.0k
        detail::check_string_type_specs(specs, eh);
5211
5212
21.0k
        SCN_GCC_PUSH
5213
21.0k
        SCN_GCC_IGNORE("-Wswitch")
5214
21.0k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
21.0k
        SCN_CLANG_PUSH
5217
21.0k
        SCN_CLANG_IGNORE("-Wswitch")
5218
21.0k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
21.0k
        switch (specs.type) {
5221
2.55k
            case detail::presentation_type::none:
5222
2.55k
                m_type = reader_type::word;
5223
2.55k
                break;
5224
5225
702
            case detail::presentation_type::string: {
5226
702
                if (specs.align == detail::align_type::left ||
5227
702
                    specs.align == detail::align_type::center) {
5228
432
                    m_type = reader_type::custom_word;
5229
432
                }
5230
270
                else {
5231
270
                    m_type = reader_type::word;
5232
270
                }
5233
702
                break;
5234
0
            }
5235
5236
174
            case detail::presentation_type::character:
5237
174
                m_type = reader_type::character;
5238
174
                break;
5239
5240
3.48k
            case detail::presentation_type::string_set:
5241
3.48k
                m_type = reader_type::character_set;
5242
3.48k
                break;
5243
5244
12.5k
            case detail::presentation_type::regex:
5245
12.5k
                m_type = reader_type::regex;
5246
12.5k
                break;
5247
5248
1.01k
            case detail::presentation_type::regex_escaped:
5249
1.01k
                m_type = reader_type::regex_escaped;
5250
1.01k
                break;
5251
21.0k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
21.0k
    }
scn::v3::impl::string_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
15.4k
    {
5210
15.4k
        detail::check_string_type_specs(specs, eh);
5211
5212
15.4k
        SCN_GCC_PUSH
5213
15.4k
        SCN_GCC_IGNORE("-Wswitch")
5214
15.4k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
15.4k
        SCN_CLANG_PUSH
5217
15.4k
        SCN_CLANG_IGNORE("-Wswitch")
5218
15.4k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
15.4k
        switch (specs.type) {
5221
1.36k
            case detail::presentation_type::none:
5222
1.36k
                m_type = reader_type::word;
5223
1.36k
                break;
5224
5225
516
            case detail::presentation_type::string: {
5226
516
                if (specs.align == detail::align_type::left ||
5227
516
                    specs.align == detail::align_type::center) {
5228
294
                    m_type = reader_type::custom_word;
5229
294
                }
5230
222
                else {
5231
222
                    m_type = reader_type::word;
5232
222
                }
5233
516
                break;
5234
0
            }
5235
5236
108
            case detail::presentation_type::character:
5237
108
                m_type = reader_type::character;
5238
108
                break;
5239
5240
3.27k
            case detail::presentation_type::string_set:
5241
3.27k
                m_type = reader_type::character_set;
5242
3.27k
                break;
5243
5244
8.88k
            case detail::presentation_type::regex:
5245
8.88k
                m_type = reader_type::regex;
5246
8.88k
                break;
5247
5248
930
            case detail::presentation_type::regex_escaped:
5249
930
                m_type = reader_type::regex_escaped;
5250
930
                break;
5251
15.4k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
15.4k
    }
scn::v3::impl::string_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
5.59k
    {
5210
5.59k
        detail::check_string_type_specs(specs, eh);
5211
5212
5.59k
        SCN_GCC_PUSH
5213
5.59k
        SCN_GCC_IGNORE("-Wswitch")
5214
5.59k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
5.59k
        SCN_CLANG_PUSH
5217
5.59k
        SCN_CLANG_IGNORE("-Wswitch")
5218
5.59k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
5.59k
        switch (specs.type) {
5221
1.18k
            case detail::presentation_type::none:
5222
1.18k
                m_type = reader_type::word;
5223
1.18k
                break;
5224
5225
186
            case detail::presentation_type::string: {
5226
186
                if (specs.align == detail::align_type::left ||
5227
186
                    specs.align == detail::align_type::center) {
5228
138
                    m_type = reader_type::custom_word;
5229
138
                }
5230
48
                else {
5231
48
                    m_type = reader_type::word;
5232
48
                }
5233
186
                break;
5234
0
            }
5235
5236
66
            case detail::presentation_type::character:
5237
66
                m_type = reader_type::character;
5238
66
                break;
5239
5240
216
            case detail::presentation_type::string_set:
5241
216
                m_type = reader_type::character_set;
5242
216
                break;
5243
5244
3.65k
            case detail::presentation_type::regex:
5245
3.65k
                m_type = reader_type::regex;
5246
3.65k
                break;
5247
5248
84
            case detail::presentation_type::regex_escaped:
5249
84
                m_type = reader_type::regex_escaped;
5250
84
                break;
5251
5.59k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
5.59k
    }
5256
5257
    bool skip_ws_before_read() const
5258
28.2k
    {
5259
28.2k
        return m_type == reader_type::word;
5260
28.2k
    }
scn::v3::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5258
20.6k
    {
5259
20.6k
        return m_type == reader_type::word;
5260
20.6k
    }
scn::v3::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5258
7.56k
    {
5259
7.56k
        return m_type == reader_type::word;
5260
7.56k
    }
5261
5262
    template <typename Range, typename Value>
5263
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5264
        -> scan_expected<ranges::const_iterator_t<Range>>
5265
3.33k
    {
5266
3.33k
        SCN_UNUSED(loc);
5267
3.33k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
3.33k
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
626
    {
5266
626
        SCN_UNUSED(loc);
5267
626
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
626
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
626
    {
5266
626
        SCN_UNUSED(loc);
5267
626
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
626
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
626
    {
5266
626
        SCN_UNUSED(loc);
5267
626
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
626
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
486
    {
5266
486
        SCN_UNUSED(loc);
5267
486
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
486
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
486
    {
5266
486
        SCN_UNUSED(loc);
5267
486
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
486
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
486
    {
5266
486
        SCN_UNUSED(loc);
5267
486
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
486
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
5269
5270
    template <typename Range, typename Value>
5271
    auto read_specs(Range range,
5272
                    const detail::format_specs& specs,
5273
                    Value& value,
5274
                    detail::locale_ref loc)
5275
        -> scan_expected<ranges::const_iterator_t<Range>>
5276
20.4k
    {
5277
20.4k
        SCN_UNUSED(loc);
5278
20.4k
        return read_impl(range, specs, value);
5279
20.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
642
    {
5277
642
        SCN_UNUSED(loc);
5278
642
        return read_impl(range, specs, value);
5279
642
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
4.36k
    {
5277
4.36k
        SCN_UNUSED(loc);
5278
4.36k
        return read_impl(range, specs, value);
5279
4.36k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
642
    {
5277
642
        SCN_UNUSED(loc);
5278
642
        return read_impl(range, specs, value);
5279
642
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
4.36k
    {
5277
4.36k
        SCN_UNUSED(loc);
5278
4.36k
        return read_impl(range, specs, value);
5279
4.36k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
642
    {
5277
642
        SCN_UNUSED(loc);
5278
642
        return read_impl(range, specs, value);
5279
642
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
4.36k
    {
5277
4.36k
        SCN_UNUSED(loc);
5278
4.36k
        return read_impl(range, specs, value);
5279
4.36k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
150
    {
5277
150
        SCN_UNUSED(loc);
5278
150
        return read_impl(range, specs, value);
5279
150
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
1.64k
    {
5277
1.64k
        SCN_UNUSED(loc);
5278
1.64k
        return read_impl(range, specs, value);
5279
1.64k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
150
    {
5277
150
        SCN_UNUSED(loc);
5278
150
        return read_impl(range, specs, value);
5279
150
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
1.64k
    {
5277
1.64k
        SCN_UNUSED(loc);
5278
1.64k
        return read_impl(range, specs, value);
5279
1.64k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
150
    {
5277
150
        SCN_UNUSED(loc);
5278
150
        return read_impl(range, specs, value);
5279
150
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
1.64k
    {
5277
1.64k
        SCN_UNUSED(loc);
5278
1.64k
        return read_impl(range, specs, value);
5279
1.64k
    }
5280
5281
protected:
5282
    enum class reader_type {
5283
        word,
5284
        custom_word,
5285
        character,
5286
        character_set,
5287
        regex,
5288
        regex_escaped,
5289
    };
5290
5291
    template <typename Range, typename Value>
5292
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5293
        -> scan_expected<ranges::const_iterator_t<Range>>
5294
20.4k
    {
5295
20.4k
        SCN_CLANG_PUSH
5296
20.4k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
20.4k
        switch (m_type) {
5299
2.77k
            case reader_type::word:
5300
2.77k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
432
            case reader_type::custom_word:
5303
432
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
432
                                                                   value);
5305
5306
162
            case reader_type::character:
5307
162
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.48k
            case reader_type::character_set:
5310
3.48k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.48k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
12.5k
            case reader_type::regex:
5315
12.5k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
12.5k
                    range, specs.charset_string<SourceCharT>(),
5317
12.5k
                    specs.regexp_flags, value);
5318
5319
1.01k
            case reader_type::regex_escaped:
5320
1.01k
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
1.01k
                    range,
5322
1.01k
                    get_unescaped_regex_pattern(
5323
1.01k
                        specs.charset_string<SourceCharT>()),
5324
1.01k
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
20.4k
                SCN_UNREACHABLE;
5330
20.4k
        }
5331
5332
20.4k
        SCN_CLANG_POP
5333
20.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
642
    {
5295
642
        SCN_CLANG_PUSH
5296
642
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
642
        switch (m_type) {
5299
244
            case reader_type::word:
5300
244
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
34
            case reader_type::character:
5307
34
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
194
            case reader_type::character_set:
5310
194
                return character_set_reader_impl<SourceCharT>{}.read(
5311
194
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
116
            case reader_type::regex_escaped:
5320
116
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
116
                    range,
5322
116
                    get_unescaped_regex_pattern(
5323
116
                        specs.charset_string<SourceCharT>()),
5324
116
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
642
                SCN_UNREACHABLE;
5330
642
        }
5331
5332
642
        SCN_CLANG_POP
5333
642
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.36k
    {
5295
4.36k
        SCN_CLANG_PUSH
5296
4.36k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.36k
        switch (m_type) {
5299
270
            case reader_type::word:
5300
270
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
46
            case reader_type::custom_word:
5303
46
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
46
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
896
            case reader_type::character_set:
5310
896
                return character_set_reader_impl<SourceCharT>{}.read(
5311
896
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.95k
            case reader_type::regex:
5315
2.95k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.95k
                    range, specs.charset_string<SourceCharT>(),
5317
2.95k
                    specs.regexp_flags, value);
5318
5319
194
            case reader_type::regex_escaped:
5320
194
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
194
                    range,
5322
194
                    get_unescaped_regex_pattern(
5323
194
                        specs.charset_string<SourceCharT>()),
5324
194
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.36k
                SCN_UNREACHABLE;
5330
4.36k
        }
5331
5332
4.36k
        SCN_CLANG_POP
5333
4.36k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
642
    {
5295
642
        SCN_CLANG_PUSH
5296
642
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
642
        switch (m_type) {
5299
244
            case reader_type::word:
5300
244
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
34
            case reader_type::character:
5307
34
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
194
            case reader_type::character_set:
5310
194
                return character_set_reader_impl<SourceCharT>{}.read(
5311
194
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
116
            case reader_type::regex_escaped:
5320
116
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
116
                    range,
5322
116
                    get_unescaped_regex_pattern(
5323
116
                        specs.charset_string<SourceCharT>()),
5324
116
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
642
                SCN_UNREACHABLE;
5330
642
        }
5331
5332
642
        SCN_CLANG_POP
5333
642
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.36k
    {
5295
4.36k
        SCN_CLANG_PUSH
5296
4.36k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.36k
        switch (m_type) {
5299
270
            case reader_type::word:
5300
270
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
46
            case reader_type::custom_word:
5303
46
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
46
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
896
            case reader_type::character_set:
5310
896
                return character_set_reader_impl<SourceCharT>{}.read(
5311
896
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.95k
            case reader_type::regex:
5315
2.95k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.95k
                    range, specs.charset_string<SourceCharT>(),
5317
2.95k
                    specs.regexp_flags, value);
5318
5319
194
            case reader_type::regex_escaped:
5320
194
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
194
                    range,
5322
194
                    get_unescaped_regex_pattern(
5323
194
                        specs.charset_string<SourceCharT>()),
5324
194
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.36k
                SCN_UNREACHABLE;
5330
4.36k
        }
5331
5332
4.36k
        SCN_CLANG_POP
5333
4.36k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
642
    {
5295
642
        SCN_CLANG_PUSH
5296
642
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
642
        switch (m_type) {
5299
244
            case reader_type::word:
5300
244
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
34
            case reader_type::character:
5307
34
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
194
            case reader_type::character_set:
5310
194
                return character_set_reader_impl<SourceCharT>{}.read(
5311
194
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
116
            case reader_type::regex_escaped:
5320
116
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
116
                    range,
5322
116
                    get_unescaped_regex_pattern(
5323
116
                        specs.charset_string<SourceCharT>()),
5324
116
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
642
                SCN_UNREACHABLE;
5330
642
        }
5331
5332
642
        SCN_CLANG_POP
5333
642
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.36k
    {
5295
4.36k
        SCN_CLANG_PUSH
5296
4.36k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.36k
        switch (m_type) {
5299
270
            case reader_type::word:
5300
270
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
46
            case reader_type::custom_word:
5303
46
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
46
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
896
            case reader_type::character_set:
5310
896
                return character_set_reader_impl<SourceCharT>{}.read(
5311
896
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.95k
            case reader_type::regex:
5315
2.95k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.95k
                    range, specs.charset_string<SourceCharT>(),
5317
2.95k
                    specs.regexp_flags, value);
5318
5319
194
            case reader_type::regex_escaped:
5320
194
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
194
                    range,
5322
194
                    get_unescaped_regex_pattern(
5323
194
                        specs.charset_string<SourceCharT>()),
5324
194
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.36k
                SCN_UNREACHABLE;
5330
4.36k
        }
5331
5332
4.36k
        SCN_CLANG_POP
5333
4.36k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
150
    {
5295
150
        SCN_CLANG_PUSH
5296
150
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
150
        switch (m_type) {
5299
102
            case reader_type::word:
5300
102
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
20
            case reader_type::character:
5307
20
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
4
            case reader_type::regex:
5315
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
4
                    range, specs.charset_string<SourceCharT>(),
5317
4
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
150
                SCN_UNREACHABLE;
5330
150
        }
5331
5332
150
        SCN_CLANG_POP
5333
150
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
1.64k
    {
5295
1.64k
        SCN_CLANG_PUSH
5296
1.64k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.64k
        switch (m_type) {
5299
308
            case reader_type::word:
5300
308
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
26
            case reader_type::custom_word:
5303
26
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
26
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
72
            case reader_type::character_set:
5310
72
                return character_set_reader_impl<SourceCharT>{}.read(
5311
72
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.21k
            case reader_type::regex:
5315
1.21k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.21k
                    range, specs.charset_string<SourceCharT>(),
5317
1.21k
                    specs.regexp_flags, value);
5318
5319
24
            case reader_type::regex_escaped:
5320
24
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
24
                    range,
5322
24
                    get_unescaped_regex_pattern(
5323
24
                        specs.charset_string<SourceCharT>()),
5324
24
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.64k
                SCN_UNREACHABLE;
5330
1.64k
        }
5331
5332
1.64k
        SCN_CLANG_POP
5333
1.64k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
150
    {
5295
150
        SCN_CLANG_PUSH
5296
150
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
150
        switch (m_type) {
5299
102
            case reader_type::word:
5300
102
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
20
            case reader_type::character:
5307
20
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
4
            case reader_type::regex:
5315
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
4
                    range, specs.charset_string<SourceCharT>(),
5317
4
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
150
                SCN_UNREACHABLE;
5330
150
        }
5331
5332
150
        SCN_CLANG_POP
5333
150
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
1.64k
    {
5295
1.64k
        SCN_CLANG_PUSH
5296
1.64k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.64k
        switch (m_type) {
5299
308
            case reader_type::word:
5300
308
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
26
            case reader_type::custom_word:
5303
26
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
26
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
72
            case reader_type::character_set:
5310
72
                return character_set_reader_impl<SourceCharT>{}.read(
5311
72
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.21k
            case reader_type::regex:
5315
1.21k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.21k
                    range, specs.charset_string<SourceCharT>(),
5317
1.21k
                    specs.regexp_flags, value);
5318
5319
24
            case reader_type::regex_escaped:
5320
24
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
24
                    range,
5322
24
                    get_unescaped_regex_pattern(
5323
24
                        specs.charset_string<SourceCharT>()),
5324
24
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.64k
                SCN_UNREACHABLE;
5330
1.64k
        }
5331
5332
1.64k
        SCN_CLANG_POP
5333
1.64k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
150
    {
5295
150
        SCN_CLANG_PUSH
5296
150
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
150
        switch (m_type) {
5299
102
            case reader_type::word:
5300
102
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
20
            case reader_type::character:
5307
20
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
4
            case reader_type::regex:
5315
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
4
                    range, specs.charset_string<SourceCharT>(),
5317
4
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
150
                SCN_UNREACHABLE;
5330
150
        }
5331
5332
150
        SCN_CLANG_POP
5333
150
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
1.64k
    {
5295
1.64k
        SCN_CLANG_PUSH
5296
1.64k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.64k
        switch (m_type) {
5299
308
            case reader_type::word:
5300
308
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
26
            case reader_type::custom_word:
5303
26
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
26
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
72
            case reader_type::character_set:
5310
72
                return character_set_reader_impl<SourceCharT>{}.read(
5311
72
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.21k
            case reader_type::regex:
5315
1.21k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.21k
                    range, specs.charset_string<SourceCharT>(),
5317
1.21k
                    specs.regexp_flags, value);
5318
5319
24
            case reader_type::regex_escaped:
5320
24
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
24
                    range,
5322
24
                    get_unescaped_regex_pattern(
5323
24
                        specs.charset_string<SourceCharT>()),
5324
24
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.64k
                SCN_UNREACHABLE;
5330
1.64k
        }
5331
5332
1.64k
        SCN_CLANG_POP
5333
1.64k
    }
5334
5335
    reader_type m_type{reader_type::word};
5336
};
5337
5338
template <typename SourceCharT>
5339
class reader_impl_for_string : public string_reader<SourceCharT> {};
5340
5341
/////////////////////////////////////////////////////////////////
5342
// Boolean reader
5343
/////////////////////////////////////////////////////////////////
5344
5345
struct bool_reader_base {
5346
    enum options_type { allow_text = 1, allow_numeric = 2 };
5347
5348
1.11k
    constexpr bool_reader_base() = default;
5349
1.19k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5350
5351
    template <typename Range>
5352
    auto read_classic(Range range, bool& value) const
5353
        -> scan_expected<ranges::const_iterator_t<Range>>
5354
2.25k
    {
5355
2.25k
        scan_error err{scan_error::invalid_scanned_value,
5356
2.25k
                       "Failed to read boolean"};
5357
5358
2.25k
        if (m_options & allow_numeric) {
5359
2.02k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
2.02k
            else {
5363
2.02k
                err = r.error();
5364
2.02k
            }
5365
2.02k
        }
5366
5367
2.25k
        if (m_options & allow_text) {
5368
2.18k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
2.18k
            else {
5372
2.18k
                err = r.error();
5373
2.18k
            }
5374
2.18k
        }
5375
5376
2.25k
        return unexpected(err);
5377
2.25k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
960
    {
5355
960
        scan_error err{scan_error::invalid_scanned_value,
5356
960
                       "Failed to read boolean"};
5357
5358
960
        if (m_options & allow_numeric) {
5359
850
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
850
            else {
5363
850
                err = r.error();
5364
850
            }
5365
850
        }
5366
5367
960
        if (m_options & allow_text) {
5368
942
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
942
            else {
5372
942
                err = r.error();
5373
942
            }
5374
942
        }
5375
5376
960
        return unexpected(err);
5377
960
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
320
    {
5355
320
        scan_error err{scan_error::invalid_scanned_value,
5356
320
                       "Failed to read boolean"};
5357
5358
320
        if (m_options & allow_numeric) {
5359
262
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
262
            else {
5363
262
                err = r.error();
5364
262
            }
5365
262
        }
5366
5367
320
        if (m_options & allow_text) {
5368
296
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
296
            else {
5372
296
                err = r.error();
5373
296
            }
5374
296
        }
5375
5376
320
        return unexpected(err);
5377
320
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
834
    {
5355
834
        scan_error err{scan_error::invalid_scanned_value,
5356
834
                       "Failed to read boolean"};
5357
5358
834
        if (m_options & allow_numeric) {
5359
796
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
796
            else {
5363
796
                err = r.error();
5364
796
            }
5365
796
        }
5366
5367
834
        if (m_options & allow_text) {
5368
820
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
820
            else {
5372
820
                err = r.error();
5373
820
            }
5374
820
        }
5375
5376
834
        return unexpected(err);
5377
834
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
142
    {
5355
142
        scan_error err{scan_error::invalid_scanned_value,
5356
142
                       "Failed to read boolean"};
5357
5358
142
        if (m_options & allow_numeric) {
5359
118
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
118
            else {
5363
118
                err = r.error();
5364
118
            }
5365
118
        }
5366
5367
142
        if (m_options & allow_text) {
5368
122
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
122
            else {
5372
122
                err = r.error();
5373
122
            }
5374
122
        }
5375
5376
142
        return unexpected(err);
5377
142
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5378
5379
protected:
5380
    template <typename Range>
5381
    auto read_numeric(Range range, bool& value) const
5382
        -> scan_expected<ranges::const_iterator_t<Range>>
5383
2.07k
    {
5384
2.07k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
2.07k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
2.07k
        return unexpected_scan_error(
5394
2.07k
            scan_error::invalid_scanned_value,
5395
2.07k
            "Failed to read numeric boolean value: No match");
5396
2.07k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
862
    {
5384
862
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
862
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
862
        return unexpected_scan_error(
5394
862
            scan_error::invalid_scanned_value,
5395
862
            "Failed to read numeric boolean value: No match");
5396
862
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
272
    {
5384
272
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
272
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
272
        return unexpected_scan_error(
5394
272
            scan_error::invalid_scanned_value,
5395
272
            "Failed to read numeric boolean value: No match");
5396
272
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
812
    {
5384
812
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
812
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
812
        return unexpected_scan_error(
5394
812
            scan_error::invalid_scanned_value,
5395
812
            "Failed to read numeric boolean value: No match");
5396
812
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
124
    {
5384
124
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
124
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
124
        return unexpected_scan_error(
5394
124
            scan_error::invalid_scanned_value,
5395
124
            "Failed to read numeric boolean value: No match");
5396
124
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5397
5398
    template <typename Range>
5399
    auto read_textual_classic(Range range, bool& value) const
5400
        -> scan_expected<ranges::const_iterator_t<Range>>
5401
2.18k
    {
5402
2.18k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
2.18k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
2.18k
        return unexpected_scan_error(
5412
2.18k
            scan_error::invalid_scanned_value,
5413
2.18k
            "Failed to read textual boolean value: No match");
5414
2.18k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
942
    {
5402
942
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
942
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
942
        return unexpected_scan_error(
5412
942
            scan_error::invalid_scanned_value,
5413
942
            "Failed to read textual boolean value: No match");
5414
942
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
296
    {
5402
296
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
296
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
296
        return unexpected_scan_error(
5412
296
            scan_error::invalid_scanned_value,
5413
296
            "Failed to read textual boolean value: No match");
5414
296
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
820
    {
5402
820
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
820
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
820
        return unexpected_scan_error(
5412
820
            scan_error::invalid_scanned_value,
5413
820
            "Failed to read textual boolean value: No match");
5414
820
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
122
    {
5402
122
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
122
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
122
        return unexpected_scan_error(
5412
122
            scan_error::invalid_scanned_value,
5413
122
            "Failed to read textual boolean value: No match");
5414
122
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5415
5416
    unsigned m_options{allow_text | allow_numeric};
5417
};
5418
5419
template <typename CharT>
5420
struct bool_reader : public bool_reader_base {
5421
    using bool_reader_base::bool_reader_base;
5422
5423
#if !SCN_DISABLE_LOCALE
5424
    template <typename Range>
5425
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5426
        -> scan_expected<ranges::const_iterator_t<Range>>
5427
50
    {
5428
50
        scan_error err{scan_error::invalid_scanned_value,
5429
50
                       "Failed to read boolean"};
5430
5431
50
        if (m_options & allow_numeric) {
5432
44
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
44
            else {
5436
44
                err = r.error();
5437
44
            }
5438
44
        }
5439
5440
50
        if (m_options & allow_text) {
5441
30
            auto stdloc = loc.get<std::locale>();
5442
30
            const auto& numpunct =
5443
30
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
30
            const auto truename = numpunct.truename();
5445
30
            const auto falsename = numpunct.falsename();
5446
5447
30
            if (auto r =
5448
30
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
30
            else {
5452
30
                err = r.error();
5453
30
            }
5454
30
        }
5455
5456
50
        return unexpected(err);
5457
50
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
12
    {
5428
12
        scan_error err{scan_error::invalid_scanned_value,
5429
12
                       "Failed to read boolean"};
5430
5431
12
        if (m_options & allow_numeric) {
5432
10
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
10
            else {
5436
10
                err = r.error();
5437
10
            }
5438
10
        }
5439
5440
12
        if (m_options & allow_text) {
5441
10
            auto stdloc = loc.get<std::locale>();
5442
10
            const auto& numpunct =
5443
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
10
            const auto truename = numpunct.truename();
5445
10
            const auto falsename = numpunct.falsename();
5446
5447
10
            if (auto r =
5448
10
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
10
            else {
5452
10
                err = r.error();
5453
10
            }
5454
10
        }
5455
5456
12
        return unexpected(err);
5457
12
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
14
    {
5428
14
        scan_error err{scan_error::invalid_scanned_value,
5429
14
                       "Failed to read boolean"};
5430
5431
14
        if (m_options & allow_numeric) {
5432
12
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
12
            else {
5436
12
                err = r.error();
5437
12
            }
5438
12
        }
5439
5440
14
        if (m_options & allow_text) {
5441
8
            auto stdloc = loc.get<std::locale>();
5442
8
            const auto& numpunct =
5443
8
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
8
            const auto truename = numpunct.truename();
5445
8
            const auto falsename = numpunct.falsename();
5446
5447
8
            if (auto r =
5448
8
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
8
            else {
5452
8
                err = r.error();
5453
8
            }
5454
8
        }
5455
5456
14
        return unexpected(err);
5457
14
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
6
    {
5428
6
        scan_error err{scan_error::invalid_scanned_value,
5429
6
                       "Failed to read boolean"};
5430
5431
6
        if (m_options & allow_numeric) {
5432
6
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
6
            else {
5436
6
                err = r.error();
5437
6
            }
5438
6
        }
5439
5440
6
        if (m_options & allow_text) {
5441
6
            auto stdloc = loc.get<std::locale>();
5442
6
            const auto& numpunct =
5443
6
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
6
            const auto truename = numpunct.truename();
5445
6
            const auto falsename = numpunct.falsename();
5446
5447
6
            if (auto r =
5448
6
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
6
            else {
5452
6
                err = r.error();
5453
6
            }
5454
6
        }
5455
5456
6
        return unexpected(err);
5457
6
    }
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
18
    {
5428
18
        scan_error err{scan_error::invalid_scanned_value,
5429
18
                       "Failed to read boolean"};
5430
5431
18
        if (m_options & allow_numeric) {
5432
16
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
16
            else {
5436
16
                err = r.error();
5437
16
            }
5438
16
        }
5439
5440
18
        if (m_options & allow_text) {
5441
6
            auto stdloc = loc.get<std::locale>();
5442
6
            const auto& numpunct =
5443
6
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
6
            const auto truename = numpunct.truename();
5445
6
            const auto falsename = numpunct.falsename();
5446
5447
6
            if (auto r =
5448
6
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
6
            else {
5452
6
                err = r.error();
5453
6
            }
5454
6
        }
5455
5456
18
        return unexpected(err);
5457
18
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5458
#endif
5459
5460
protected:
5461
    template <typename Range>
5462
    auto read_textual_custom(Range range,
5463
                             bool& value,
5464
                             std::basic_string_view<CharT> truename,
5465
                             std::basic_string_view<CharT> falsename) const
5466
        -> scan_expected<ranges::const_iterator_t<Range>>
5467
30
    {
5468
30
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
30
        const auto shorter = std::pair{
5470
30
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
30
        const auto longer = std::pair{
5472
30
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
30
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
30
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
30
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
30
                                     "read_textual: No match");
5485
30
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5467
10
    {
5468
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
10
        const auto shorter = std::pair{
5470
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
10
        const auto longer = std::pair{
5472
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
10
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
10
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
10
                                     "read_textual: No match");
5485
10
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5467
8
    {
5468
8
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
8
        const auto shorter = std::pair{
5470
8
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
8
        const auto longer = std::pair{
5472
8
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
8
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
8
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
8
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
8
                                     "read_textual: No match");
5485
8
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5467
6
    {
5468
6
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
6
        const auto shorter = std::pair{
5470
6
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
6
        const auto longer = std::pair{
5472
6
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
6
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
6
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
6
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
6
                                     "read_textual: No match");
5485
6
    }
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5467
6
    {
5468
6
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
6
        const auto shorter = std::pair{
5470
6
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
6
        const auto longer = std::pair{
5472
6
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
6
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
6
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
6
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
6
                                     "read_textual: No match");
5485
6
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5486
};
5487
5488
template <typename CharT>
5489
class reader_impl_for_bool
5490
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5491
public:
5492
    reader_impl_for_bool() = default;
5493
5494
    void check_specs_impl(const detail::format_specs& specs,
5495
                          reader_error_handler& eh)
5496
7.06k
    {
5497
7.06k
        detail::check_bool_type_specs(specs, eh);
5498
7.06k
    }
scn::v3::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
5.17k
    {
5497
5.17k
        detail::check_bool_type_specs(specs, eh);
5498
5.17k
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
1.89k
    {
5497
1.89k
        detail::check_bool_type_specs(specs, eh);
5498
1.89k
    }
5499
5500
    template <typename Range>
5501
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5502
        -> scan_expected<ranges::const_iterator_t<Range>>
5503
1.11k
    {
5504
1.11k
        SCN_UNUSED(loc);
5505
5506
1.11k
        return bool_reader<CharT>{}.read_classic(range, value);
5507
1.11k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
626
    {
5504
626
        SCN_UNUSED(loc);
5505
5506
626
        return bool_reader<CharT>{}.read_classic(range, value);
5507
626
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
486
    {
5504
486
        SCN_UNUSED(loc);
5505
5506
486
        return bool_reader<CharT>{}.read_classic(range, value);
5507
486
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5508
5509
    template <typename Range>
5510
    auto read_specs(Range range,
5511
                    const detail::format_specs& specs,
5512
                    bool& value,
5513
                    detail::locale_ref loc) const
5514
        -> scan_expected<ranges::const_iterator_t<Range>>
5515
1.19k
    {
5516
1.19k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
1.19k
#if !SCN_DISABLE_LOCALE
5519
1.19k
        if (specs.localized) {
5520
50
            return rd.read_localized(range, loc, value);
5521
50
        }
5522
1.14k
#endif
5523
5524
1.14k
        return rd.read_classic(range, value);
5525
1.19k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
332
    {
5516
332
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
332
#if !SCN_DISABLE_LOCALE
5519
332
        if (specs.localized) {
5520
12
            return rd.read_localized(range, loc, value);
5521
12
        }
5522
320
#endif
5523
5524
320
        return rd.read_classic(range, value);
5525
332
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
348
    {
5516
348
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
348
#if !SCN_DISABLE_LOCALE
5519
348
        if (specs.localized) {
5520
14
            return rd.read_localized(range, loc, value);
5521
14
        }
5522
334
#endif
5523
5524
334
        return rd.read_classic(range, value);
5525
348
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
148
    {
5516
148
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
148
#if !SCN_DISABLE_LOCALE
5519
148
        if (specs.localized) {
5520
6
            return rd.read_localized(range, loc, value);
5521
6
        }
5522
142
#endif
5523
5524
142
        return rd.read_classic(range, value);
5525
148
    }
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
366
    {
5516
366
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
366
#if !SCN_DISABLE_LOCALE
5519
366
        if (specs.localized) {
5520
18
            return rd.read_localized(range, loc, value);
5521
18
        }
5522
348
#endif
5523
5524
348
        return rd.read_classic(range, value);
5525
366
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5526
5527
    static constexpr unsigned get_options(const detail::format_specs& specs)
5528
1.19k
    {
5529
1.19k
        SCN_GCC_COMPAT_PUSH
5530
1.19k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
1.19k
        switch (specs.type) {
5533
236
            case detail::presentation_type::string:
5534
236
                return bool_reader_base::allow_text;
5535
5536
20
            case detail::presentation_type::int_generic:
5537
36
            case detail::presentation_type::int_binary:
5538
46
            case detail::presentation_type::int_decimal:
5539
60
            case detail::presentation_type::int_hex:
5540
82
            case detail::presentation_type::int_octal:
5541
96
            case detail::presentation_type::int_unsigned_decimal:
5542
96
                return bool_reader_base::allow_numeric;
5543
5544
862
            default:
5545
862
                return bool_reader_base::allow_text |
5546
862
                       bool_reader_base::allow_numeric;
5547
1.19k
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
1.19k
    }
scn::v3::impl::reader_impl_for_bool<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
680
    {
5529
680
        SCN_GCC_COMPAT_PUSH
5530
680
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
680
        switch (specs.type) {
5533
172
            case detail::presentation_type::string:
5534
172
                return bool_reader_base::allow_text;
5535
5536
10
            case detail::presentation_type::int_generic:
5537
20
            case detail::presentation_type::int_binary:
5538
24
            case detail::presentation_type::int_decimal:
5539
32
            case detail::presentation_type::int_hex:
5540
46
            case detail::presentation_type::int_octal:
5541
50
            case detail::presentation_type::int_unsigned_decimal:
5542
50
                return bool_reader_base::allow_numeric;
5543
5544
458
            default:
5545
458
                return bool_reader_base::allow_text |
5546
458
                       bool_reader_base::allow_numeric;
5547
680
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
680
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
514
    {
5529
514
        SCN_GCC_COMPAT_PUSH
5530
514
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
514
        switch (specs.type) {
5533
64
            case detail::presentation_type::string:
5534
64
                return bool_reader_base::allow_text;
5535
5536
10
            case detail::presentation_type::int_generic:
5537
16
            case detail::presentation_type::int_binary:
5538
22
            case detail::presentation_type::int_decimal:
5539
28
            case detail::presentation_type::int_hex:
5540
36
            case detail::presentation_type::int_octal:
5541
46
            case detail::presentation_type::int_unsigned_decimal:
5542
46
                return bool_reader_base::allow_numeric;
5543
5544
404
            default:
5545
404
                return bool_reader_base::allow_text |
5546
404
                       bool_reader_base::allow_numeric;
5547
514
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
514
    }
5551
};
5552
5553
/////////////////////////////////////////////////////////////////
5554
// Character (code unit, code point) reader
5555
/////////////////////////////////////////////////////////////////
5556
5557
template <typename CharT>
5558
class code_unit_reader {
5559
public:
5560
    template <typename SourceRange>
5561
    auto read(const SourceRange& range, CharT& ch)
5562
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5563
1.95k
    {
5564
1.95k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
1.95k
        ch = *range.begin();
5566
1.95k
        return it;
5567
1.95k
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5563
246
    {
5564
246
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
246
        ch = *range.begin();
5566
246
        return it;
5567
246
    }
_ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5563
832
    {
5564
832
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
832
        ch = *range.begin();
5566
832
        return it;
5567
832
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5563
98
    {
5564
98
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
98
        ch = *range.begin();
5566
98
        return it;
5567
98
    }
_ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5563
782
    {
5564
782
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
782
        ch = *range.begin();
5566
782
        return it;
5567
782
    }
5568
};
5569
5570
template <typename CharT>
5571
class code_point_reader;
5572
5573
template <>
5574
class code_point_reader<char32_t> {
5575
public:
5576
    template <typename SourceRange>
5577
    auto read(const SourceRange& range, char32_t& cp)
5578
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5579
0
    {
5580
0
        auto result = read_code_point_into(range);
5581
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5582
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
5583
0
                                         "Invalid code point");
5584
0
        }
5585
0
        cp = detail::decode_code_point_exhaustive_valid(
5586
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5587
0
                result.codepoint});
5588
0
        return result.iterator;
5589
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5590
};
5591
5592
template <>
5593
class code_point_reader<wchar_t> {
5594
public:
5595
    template <typename SourceRange>
5596
    auto read(const SourceRange& range, wchar_t& ch)
5597
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5598
0
    {
5599
0
        code_point_reader<char32_t> reader{};
5600
0
        char32_t cp{};
5601
0
        auto ret = reader.read(range, cp);
5602
0
        if (SCN_UNLIKELY(!ret)) {
5603
0
            return unexpected(ret.error());
5604
0
        }
5605
5606
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5607
0
        ch = encoded_ch;
5608
0
        return *ret;
5609
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5610
};
5611
5612
template <typename ValueCharT>
5613
class char_reader_base {
5614
public:
5615
    constexpr char_reader_base() = default;
5616
5617
    bool skip_ws_before_read() const
5618
2.89k
    {
5619
2.89k
        return false;
5620
2.89k
    }
scn::v3::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5618
1.58k
    {
5619
1.58k
        return false;
5620
1.58k
    }
scn::v3::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5618
1.31k
    {
5619
1.31k
        return false;
5620
1.31k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5621
5622
    static scan_error check_specs(const detail::format_specs& specs)
5623
7.01k
    {
5624
7.01k
        reader_error_handler eh{};
5625
7.01k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
7.01k
            detail::check_code_point_type_specs(specs, eh);
5627
7.01k
        }
5628
7.01k
        else {
5629
7.01k
            detail::check_char_type_specs(specs, eh);
5630
7.01k
        }
5631
7.01k
        if (SCN_UNLIKELY(!eh)) {
5632
6.07k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
6.07k
        }
5634
938
        return {};
5635
7.01k
    }
scn::v3::impl::char_reader_base<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
5.14k
    {
5624
5.14k
        reader_error_handler eh{};
5625
5.14k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
5.14k
            detail::check_code_point_type_specs(specs, eh);
5627
5.14k
        }
5628
5.14k
        else {
5629
5.14k
            detail::check_char_type_specs(specs, eh);
5630
5.14k
        }
5631
5.14k
        if (SCN_UNLIKELY(!eh)) {
5632
4.63k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
4.63k
        }
5634
508
        return {};
5635
5.14k
    }
scn::v3::impl::char_reader_base<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
1.86k
    {
5624
1.86k
        reader_error_handler eh{};
5625
1.86k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
1.86k
            detail::check_code_point_type_specs(specs, eh);
5627
1.86k
        }
5628
1.86k
        else {
5629
1.86k
            detail::check_char_type_specs(specs, eh);
5630
1.86k
        }
5631
1.86k
        if (SCN_UNLIKELY(!eh)) {
5632
1.43k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
1.43k
        }
5634
430
        return {};
5635
1.86k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::check_specs(scn::v3::detail::format_specs const&)
5636
};
5637
5638
template <typename CharT>
5639
class reader_impl_for_char : public char_reader_base<char> {
5640
public:
5641
    template <typename Range>
5642
    auto read_default(Range range, char& value, detail::locale_ref loc)
5643
        -> scan_expected<ranges::const_iterator_t<Range>>
5644
1.07k
    {
5645
1.07k
        SCN_UNUSED(loc);
5646
1.07k
        if constexpr (std::is_same_v<CharT, char>) {
5647
0
            return code_unit_reader<char>{}.read(range, value);
5648
0
        }
5649
0
        else {
5650
0
            SCN_UNUSED(range);
5651
0
            SCN_EXPECT(false);
5652
0
            SCN_UNREACHABLE;
5653
0
        }
5654
1.07k
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5644
246
    {
5645
246
        SCN_UNUSED(loc);
5646
246
        if constexpr (std::is_same_v<CharT, char>) {
5647
246
            return code_unit_reader<char>{}.read(range, value);
5648
246
        }
5649
246
        else {
5650
246
            SCN_UNUSED(range);
5651
246
            SCN_EXPECT(false);
5652
246
            SCN_UNREACHABLE;
5653
246
        }
5654
246
    }
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5644
832
    {
5645
832
        SCN_UNUSED(loc);
5646
832
        if constexpr (std::is_same_v<CharT, char>) {
5647
832
            return code_unit_reader<char>{}.read(range, value);
5648
832
        }
5649
832
        else {
5650
832
            SCN_UNUSED(range);
5651
832
            SCN_EXPECT(false);
5652
832
            SCN_UNREACHABLE;
5653
832
        }
5654
832
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5655
5656
    template <typename Range>
5657
    auto read_specs(Range range,
5658
                    const detail::format_specs& specs,
5659
                    char& value,
5660
                    detail::locale_ref loc)
5661
        -> scan_expected<ranges::const_iterator_t<Range>>
5662
502
    {
5663
502
        if (specs.type == detail::presentation_type::none ||
5664
502
            specs.type == detail::presentation_type::character) {
5665
452
            return read_default(range, value, loc);
5666
452
        }
5667
5668
50
        reader_impl_for_int<CharT> reader{};
5669
50
        signed char tmp_value{};
5670
50
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
50
        value = static_cast<signed char>(value);
5672
50
        return ret;
5673
502
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5662
278
    {
5663
278
        if (specs.type == detail::presentation_type::none ||
5664
278
            specs.type == detail::presentation_type::character) {
5665
246
            return read_default(range, value, loc);
5666
246
        }
5667
5668
32
        reader_impl_for_int<CharT> reader{};
5669
32
        signed char tmp_value{};
5670
32
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
32
        value = static_cast<signed char>(value);
5672
32
        return ret;
5673
278
    }
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5662
224
    {
5663
224
        if (specs.type == detail::presentation_type::none ||
5664
224
            specs.type == detail::presentation_type::character) {
5665
206
            return read_default(range, value, loc);
5666
206
        }
5667
5668
18
        reader_impl_for_int<CharT> reader{};
5669
18
        signed char tmp_value{};
5670
18
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
18
        value = static_cast<signed char>(value);
5672
18
        return ret;
5673
224
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5674
};
5675
5676
template <typename CharT>
5677
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5678
public:
5679
    template <typename Range>
5680
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5681
        -> scan_expected<ranges::const_iterator_t<Range>>
5682
880
    {
5683
880
        SCN_UNUSED(loc);
5684
880
        if constexpr (std::is_same_v<CharT, char>) {
5685
880
            return code_point_reader<wchar_t>{}.read(range, value);
5686
880
        }
5687
880
        else {
5688
880
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
880
        }
5690
880
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5682
98
    {
5683
98
        SCN_UNUSED(loc);
5684
98
        if constexpr (std::is_same_v<CharT, char>) {
5685
98
            return code_point_reader<wchar_t>{}.read(range, value);
5686
98
        }
5687
98
        else {
5688
98
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
98
        }
5690
98
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5682
782
    {
5683
782
        SCN_UNUSED(loc);
5684
782
        if constexpr (std::is_same_v<CharT, char>) {
5685
782
            return code_point_reader<wchar_t>{}.read(range, value);
5686
782
        }
5687
782
        else {
5688
782
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
782
        }
5690
782
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5691
5692
    template <typename Range>
5693
    auto read_specs(Range range,
5694
                    const detail::format_specs& specs,
5695
                    wchar_t& value,
5696
                    detail::locale_ref loc)
5697
        -> scan_expected<ranges::const_iterator_t<Range>>
5698
428
    {
5699
428
        if (specs.type == detail::presentation_type::none ||
5700
428
            specs.type == detail::presentation_type::character) {
5701
394
            return read_default(range, value, loc);
5702
394
        }
5703
5704
34
        reader_impl_for_int<CharT> reader{};
5705
34
        using integer_type =
5706
34
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
34
        integer_type tmp_value{};
5708
34
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
34
        value = static_cast<integer_type>(value);
5710
34
        return ret;
5711
428
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5698
118
    {
5699
118
        if (specs.type == detail::presentation_type::none ||
5700
118
            specs.type == detail::presentation_type::character) {
5701
98
            return read_default(range, value, loc);
5702
98
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
118
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5698
310
    {
5699
310
        if (specs.type == detail::presentation_type::none ||
5700
310
            specs.type == detail::presentation_type::character) {
5701
296
            return read_default(range, value, loc);
5702
296
        }
5703
5704
14
        reader_impl_for_int<CharT> reader{};
5705
14
        using integer_type =
5706
14
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
14
        integer_type tmp_value{};
5708
14
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
14
        value = static_cast<integer_type>(value);
5710
14
        return ret;
5711
310
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5712
};
5713
5714
template <typename CharT>
5715
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5716
public:
5717
    template <typename Range>
5718
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5719
        -> scan_expected<ranges::const_iterator_t<Range>>
5720
0
    {
5721
0
        SCN_UNUSED(loc);
5722
0
        return code_point_reader<char32_t>{}.read(range, value);
5723
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5724
5725
    template <typename Range>
5726
    auto read_specs(Range range,
5727
                    const detail::format_specs& specs,
5728
                    char32_t& value,
5729
                    detail::locale_ref loc)
5730
        -> scan_expected<ranges::const_iterator_t<Range>>
5731
0
    {
5732
0
        SCN_UNUSED(specs);
5733
0
        return read_default(range, value, loc);
5734
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5735
};
5736
5737
/////////////////////////////////////////////////////////////////
5738
// Pointer reader
5739
/////////////////////////////////////////////////////////////////
5740
5741
template <typename CharT>
5742
class reader_impl_for_voidptr {
5743
public:
5744
    constexpr reader_impl_for_voidptr() = default;
5745
5746
    bool skip_ws_before_read() const
5747
1.97k
    {
5748
1.97k
        return true;
5749
1.97k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5747
1.08k
    {
5748
1.08k
        return true;
5749
1.08k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5747
888
    {
5748
888
        return true;
5749
888
    }
5750
5751
    static scan_error check_specs(const detail::format_specs& specs)
5752
7.01k
    {
5753
7.01k
        reader_error_handler eh{};
5754
7.01k
        detail::check_pointer_type_specs(specs, eh);
5755
7.01k
        if (SCN_UNLIKELY(!eh)) {
5756
6.14k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
6.14k
        }
5758
864
        return {};
5759
7.01k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
5.14k
    {
5753
5.14k
        reader_error_handler eh{};
5754
5.14k
        detail::check_pointer_type_specs(specs, eh);
5755
5.14k
        if (SCN_UNLIKELY(!eh)) {
5756
4.68k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
4.68k
        }
5758
462
        return {};
5759
5.14k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
1.86k
    {
5753
1.86k
        reader_error_handler eh{};
5754
1.86k
        detail::check_pointer_type_specs(specs, eh);
5755
1.86k
        if (SCN_UNLIKELY(!eh)) {
5756
1.46k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
1.46k
        }
5758
402
        return {};
5759
1.86k
    }
5760
5761
    template <typename Range>
5762
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5763
        -> scan_expected<ranges::const_iterator_t<Range>>
5764
1.96k
    {
5765
1.96k
        detail::format_specs specs{};
5766
1.96k
        specs.type = detail::presentation_type::int_hex;
5767
5768
1.96k
        std::uintptr_t intvalue{};
5769
1.96k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
1.96k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
836
    {
5765
836
        detail::format_specs specs{};
5766
836
        specs.type = detail::presentation_type::int_hex;
5767
5768
836
        std::uintptr_t intvalue{};
5769
836
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
836
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
240
    {
5765
240
        detail::format_specs specs{};
5766
240
        specs.type = detail::presentation_type::int_hex;
5767
5768
240
        std::uintptr_t intvalue{};
5769
240
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
240
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
784
    {
5765
784
        detail::format_specs specs{};
5766
784
        specs.type = detail::presentation_type::int_hex;
5767
5768
784
        std::uintptr_t intvalue{};
5769
784
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
784
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
102
    {
5765
102
        detail::format_specs specs{};
5766
102
        specs.type = detail::presentation_type::int_hex;
5767
5768
102
        std::uintptr_t intvalue{};
5769
102
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
102
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5774
5775
    template <typename Range>
5776
    auto read_specs(Range range,
5777
                    const detail::format_specs& specs,
5778
                    void*& value,
5779
                    detail::locale_ref loc)
5780
        -> scan_expected<ranges::const_iterator_t<Range>>
5781
850
    {
5782
850
        SCN_UNUSED(specs);
5783
850
        return read_default(range, value, loc);
5784
850
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
240
    {
5782
240
        SCN_UNUSED(specs);
5783
240
        return read_default(range, value, loc);
5784
240
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
210
    {
5782
210
        SCN_UNUSED(specs);
5783
210
        return read_default(range, value, loc);
5784
210
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
102
    {
5782
102
        SCN_UNUSED(specs);
5783
102
        return read_default(range, value, loc);
5784
102
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
298
    {
5782
298
        SCN_UNUSED(specs);
5783
298
        return read_default(range, value, loc);
5784
298
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5785
};
5786
5787
/////////////////////////////////////////////////////////////////
5788
// Argument readers
5789
/////////////////////////////////////////////////////////////////
5790
5791
template <typename Range>
5792
auto skip_ws_before_if_required(bool is_required, Range range)
5793
    -> eof_expected<ranges::iterator_t<Range>>
5794
10.0k
{
5795
10.0k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
0
        return unexpected(e);
5797
0
    }
5798
5799
10.0k
    if (!is_required) {
5800
1.11k
        return range.begin();
5801
1.11k
    }
5802
5803
8.89k
    return skip_classic_whitespace(range);
5804
10.0k
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
5.63k
{
5795
5.63k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
0
        return unexpected(e);
5797
0
    }
5798
5799
5.63k
    if (!is_required) {
5800
626
        return range.begin();
5801
626
    }
5802
5803
5.00k
    return skip_classic_whitespace(range);
5804
5.63k
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
4.37k
{
5795
4.37k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
0
        return unexpected(e);
5797
0
    }
5798
5799
4.37k
    if (!is_required) {
5800
486
        return range.begin();
5801
486
    }
5802
5803
3.88k
    return skip_classic_whitespace(range);
5804
4.37k
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5805
5806
template <typename T, typename CharT>
5807
constexpr auto make_reader()
5808
24.3k
{
5809
24.3k
    if constexpr (std::is_same_v<T, bool>) {
5810
24.3k
        return reader_impl_for_bool<CharT>{};
5811
24.3k
    }
5812
24.3k
    else if constexpr (std::is_same_v<T, char>) {
5813
24.3k
        return reader_impl_for_char<CharT>{};
5814
24.3k
    }
5815
24.3k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
24.3k
        return reader_impl_for_wchar<CharT>{};
5817
24.3k
    }
5818
24.3k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
24.3k
        return reader_impl_for_code_point<CharT>{};
5820
24.3k
    }
5821
24.3k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
24.3k
                       std::is_same_v<T, std::wstring_view>) {
5823
16.2k
        return reader_impl_for_string<CharT>{};
5824
16.2k
    }
5825
16.2k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
16.2k
                       std::is_same_v<T, std::wstring>) {
5827
16.2k
        return reader_impl_for_string<CharT>{};
5828
16.2k
    }
5829
24.3k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
24.3k
                       std::is_same_v<T, wregex_matches>) {
5831
24.3k
        return reader_impl_for_regex_matches<CharT>{};
5832
24.3k
    }
5833
24.3k
    else if constexpr (std::is_same_v<T, void*>) {
5834
24.3k
        return reader_impl_for_voidptr<CharT>{};
5835
24.3k
    }
5836
24.3k
    else if constexpr (std::is_floating_point_v<T>) {
5837
24.3k
        return reader_impl_for_float<CharT>{};
5838
24.3k
    }
5839
24.3k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
24.3k
                       !std::is_same_v<T, wchar_t> &&
5841
24.3k
                       !std::is_same_v<T, char32_t> &&
5842
24.3k
                       !std::is_same_v<T, bool>) {
5843
24.3k
        return reader_impl_for_int<CharT>{};
5844
24.3k
    }
5845
24.3k
    else {
5846
24.3k
        return reader_impl_for_monostate<CharT>{};
5847
24.3k
    }
5848
24.3k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5808
5.77k
{
5809
5.77k
    if constexpr (std::is_same_v<T, bool>) {
5810
5.77k
        return reader_impl_for_bool<CharT>{};
5811
5.77k
    }
5812
5.77k
    else if constexpr (std::is_same_v<T, char>) {
5813
5.77k
        return reader_impl_for_char<CharT>{};
5814
5.77k
    }
5815
5.77k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
5.77k
        return reader_impl_for_wchar<CharT>{};
5817
5.77k
    }
5818
5.77k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
5.77k
        return reader_impl_for_code_point<CharT>{};
5820
5.77k
    }
5821
5.77k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
5.77k
                       std::is_same_v<T, std::wstring_view>) {
5823
5.77k
        return reader_impl_for_string<CharT>{};
5824
5.77k
    }
5825
5.77k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
5.77k
                       std::is_same_v<T, std::wstring>) {
5827
5.77k
        return reader_impl_for_string<CharT>{};
5828
5.77k
    }
5829
5.77k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
5.77k
                       std::is_same_v<T, wregex_matches>) {
5831
5.77k
        return reader_impl_for_regex_matches<CharT>{};
5832
5.77k
    }
5833
5.77k
    else if constexpr (std::is_same_v<T, void*>) {
5834
5.77k
        return reader_impl_for_voidptr<CharT>{};
5835
5.77k
    }
5836
5.77k
    else if constexpr (std::is_floating_point_v<T>) {
5837
5.77k
        return reader_impl_for_float<CharT>{};
5838
5.77k
    }
5839
5.77k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
5.77k
                       !std::is_same_v<T, wchar_t> &&
5841
5.77k
                       !std::is_same_v<T, char32_t> &&
5842
5.77k
                       !std::is_same_v<T, bool>) {
5843
5.77k
        return reader_impl_for_int<CharT>{};
5844
5.77k
    }
5845
5.77k
    else {
5846
5.77k
        return reader_impl_for_monostate<CharT>{};
5847
5.77k
    }
5848
5.77k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5808
5.77k
{
5809
5.77k
    if constexpr (std::is_same_v<T, bool>) {
5810
5.77k
        return reader_impl_for_bool<CharT>{};
5811
5.77k
    }
5812
5.77k
    else if constexpr (std::is_same_v<T, char>) {
5813
5.77k
        return reader_impl_for_char<CharT>{};
5814
5.77k
    }
5815
5.77k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
5.77k
        return reader_impl_for_wchar<CharT>{};
5817
5.77k
    }
5818
5.77k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
5.77k
        return reader_impl_for_code_point<CharT>{};
5820
5.77k
    }
5821
5.77k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
5.77k
                       std::is_same_v<T, std::wstring_view>) {
5823
5.77k
        return reader_impl_for_string<CharT>{};
5824
5.77k
    }
5825
5.77k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
5.77k
                       std::is_same_v<T, std::wstring>) {
5827
5.77k
        return reader_impl_for_string<CharT>{};
5828
5.77k
    }
5829
5.77k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
5.77k
                       std::is_same_v<T, wregex_matches>) {
5831
5.77k
        return reader_impl_for_regex_matches<CharT>{};
5832
5.77k
    }
5833
5.77k
    else if constexpr (std::is_same_v<T, void*>) {
5834
5.77k
        return reader_impl_for_voidptr<CharT>{};
5835
5.77k
    }
5836
5.77k
    else if constexpr (std::is_floating_point_v<T>) {
5837
5.77k
        return reader_impl_for_float<CharT>{};
5838
5.77k
    }
5839
5.77k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
5.77k
                       !std::is_same_v<T, wchar_t> &&
5841
5.77k
                       !std::is_same_v<T, char32_t> &&
5842
5.77k
                       !std::is_same_v<T, bool>) {
5843
5.77k
        return reader_impl_for_int<CharT>{};
5844
5.77k
    }
5845
5.77k
    else {
5846
5.77k
        return reader_impl_for_monostate<CharT>{};
5847
5.77k
    }
5848
5.77k
}
auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5808
5.77k
{
5809
5.77k
    if constexpr (std::is_same_v<T, bool>) {
5810
5.77k
        return reader_impl_for_bool<CharT>{};
5811
5.77k
    }
5812
5.77k
    else if constexpr (std::is_same_v<T, char>) {
5813
5.77k
        return reader_impl_for_char<CharT>{};
5814
5.77k
    }
5815
5.77k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
5.77k
        return reader_impl_for_wchar<CharT>{};
5817
5.77k
    }
5818
5.77k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
5.77k
        return reader_impl_for_code_point<CharT>{};
5820
5.77k
    }
5821
5.77k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
5.77k
                       std::is_same_v<T, std::wstring_view>) {
5823
5.77k
        return reader_impl_for_string<CharT>{};
5824
5.77k
    }
5825
5.77k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
5.77k
                       std::is_same_v<T, std::wstring>) {
5827
5.77k
        return reader_impl_for_string<CharT>{};
5828
5.77k
    }
5829
5.77k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
5.77k
                       std::is_same_v<T, wregex_matches>) {
5831
5.77k
        return reader_impl_for_regex_matches<CharT>{};
5832
5.77k
    }
5833
5.77k
    else if constexpr (std::is_same_v<T, void*>) {
5834
5.77k
        return reader_impl_for_voidptr<CharT>{};
5835
5.77k
    }
5836
5.77k
    else if constexpr (std::is_floating_point_v<T>) {
5837
5.77k
        return reader_impl_for_float<CharT>{};
5838
5.77k
    }
5839
5.77k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
5.77k
                       !std::is_same_v<T, wchar_t> &&
5841
5.77k
                       !std::is_same_v<T, char32_t> &&
5842
5.77k
                       !std::is_same_v<T, bool>) {
5843
5.77k
        return reader_impl_for_int<CharT>{};
5844
5.77k
    }
5845
5.77k
    else {
5846
5.77k
        return reader_impl_for_monostate<CharT>{};
5847
5.77k
    }
5848
5.77k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5808
2.35k
{
5809
2.35k
    if constexpr (std::is_same_v<T, bool>) {
5810
2.35k
        return reader_impl_for_bool<CharT>{};
5811
2.35k
    }
5812
2.35k
    else if constexpr (std::is_same_v<T, char>) {
5813
2.35k
        return reader_impl_for_char<CharT>{};
5814
2.35k
    }
5815
2.35k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
2.35k
        return reader_impl_for_wchar<CharT>{};
5817
2.35k
    }
5818
2.35k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
2.35k
        return reader_impl_for_code_point<CharT>{};
5820
2.35k
    }
5821
2.35k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
2.35k
                       std::is_same_v<T, std::wstring_view>) {
5823
2.35k
        return reader_impl_for_string<CharT>{};
5824
2.35k
    }
5825
2.35k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
2.35k
                       std::is_same_v<T, std::wstring>) {
5827
2.35k
        return reader_impl_for_string<CharT>{};
5828
2.35k
    }
5829
2.35k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
2.35k
                       std::is_same_v<T, wregex_matches>) {
5831
2.35k
        return reader_impl_for_regex_matches<CharT>{};
5832
2.35k
    }
5833
2.35k
    else if constexpr (std::is_same_v<T, void*>) {
5834
2.35k
        return reader_impl_for_voidptr<CharT>{};
5835
2.35k
    }
5836
2.35k
    else if constexpr (std::is_floating_point_v<T>) {
5837
2.35k
        return reader_impl_for_float<CharT>{};
5838
2.35k
    }
5839
2.35k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
2.35k
                       !std::is_same_v<T, wchar_t> &&
5841
2.35k
                       !std::is_same_v<T, char32_t> &&
5842
2.35k
                       !std::is_same_v<T, bool>) {
5843
2.35k
        return reader_impl_for_int<CharT>{};
5844
2.35k
    }
5845
2.35k
    else {
5846
2.35k
        return reader_impl_for_monostate<CharT>{};
5847
2.35k
    }
5848
2.35k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5808
2.35k
{
5809
2.35k
    if constexpr (std::is_same_v<T, bool>) {
5810
2.35k
        return reader_impl_for_bool<CharT>{};
5811
2.35k
    }
5812
2.35k
    else if constexpr (std::is_same_v<T, char>) {
5813
2.35k
        return reader_impl_for_char<CharT>{};
5814
2.35k
    }
5815
2.35k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
2.35k
        return reader_impl_for_wchar<CharT>{};
5817
2.35k
    }
5818
2.35k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
2.35k
        return reader_impl_for_code_point<CharT>{};
5820
2.35k
    }
5821
2.35k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
2.35k
                       std::is_same_v<T, std::wstring_view>) {
5823
2.35k
        return reader_impl_for_string<CharT>{};
5824
2.35k
    }
5825
2.35k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
2.35k
                       std::is_same_v<T, std::wstring>) {
5827
2.35k
        return reader_impl_for_string<CharT>{};
5828
2.35k
    }
5829
2.35k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
2.35k
                       std::is_same_v<T, wregex_matches>) {
5831
2.35k
        return reader_impl_for_regex_matches<CharT>{};
5832
2.35k
    }
5833
2.35k
    else if constexpr (std::is_same_v<T, void*>) {
5834
2.35k
        return reader_impl_for_voidptr<CharT>{};
5835
2.35k
    }
5836
2.35k
    else if constexpr (std::is_floating_point_v<T>) {
5837
2.35k
        return reader_impl_for_float<CharT>{};
5838
2.35k
    }
5839
2.35k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
2.35k
                       !std::is_same_v<T, wchar_t> &&
5841
2.35k
                       !std::is_same_v<T, char32_t> &&
5842
2.35k
                       !std::is_same_v<T, bool>) {
5843
2.35k
        return reader_impl_for_int<CharT>{};
5844
2.35k
    }
5845
2.35k
    else {
5846
2.35k
        return reader_impl_for_monostate<CharT>{};
5847
2.35k
    }
5848
2.35k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5808
2.35k
{
5809
2.35k
    if constexpr (std::is_same_v<T, bool>) {
5810
2.35k
        return reader_impl_for_bool<CharT>{};
5811
2.35k
    }
5812
2.35k
    else if constexpr (std::is_same_v<T, char>) {
5813
2.35k
        return reader_impl_for_char<CharT>{};
5814
2.35k
    }
5815
2.35k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
2.35k
        return reader_impl_for_wchar<CharT>{};
5817
2.35k
    }
5818
2.35k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
2.35k
        return reader_impl_for_code_point<CharT>{};
5820
2.35k
    }
5821
2.35k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
2.35k
                       std::is_same_v<T, std::wstring_view>) {
5823
2.35k
        return reader_impl_for_string<CharT>{};
5824
2.35k
    }
5825
2.35k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
2.35k
                       std::is_same_v<T, std::wstring>) {
5827
2.35k
        return reader_impl_for_string<CharT>{};
5828
2.35k
    }
5829
2.35k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
2.35k
                       std::is_same_v<T, wregex_matches>) {
5831
2.35k
        return reader_impl_for_regex_matches<CharT>{};
5832
2.35k
    }
5833
2.35k
    else if constexpr (std::is_same_v<T, void*>) {
5834
2.35k
        return reader_impl_for_voidptr<CharT>{};
5835
2.35k
    }
5836
2.35k
    else if constexpr (std::is_floating_point_v<T>) {
5837
2.35k
        return reader_impl_for_float<CharT>{};
5838
2.35k
    }
5839
2.35k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
2.35k
                       !std::is_same_v<T, wchar_t> &&
5841
2.35k
                       !std::is_same_v<T, char32_t> &&
5842
2.35k
                       !std::is_same_v<T, bool>) {
5843
2.35k
        return reader_impl_for_int<CharT>{};
5844
2.35k
    }
5845
2.35k
    else {
5846
2.35k
        return reader_impl_for_monostate<CharT>{};
5847
2.35k
    }
5848
2.35k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, wchar_t>()
5849
5850
template <typename Context>
5851
struct default_arg_reader {
5852
    using context_type = Context;
5853
    using char_type = typename context_type::char_type;
5854
    using args_type = typename context_type::args_type;
5855
5856
    using range_type = typename context_type::range_type;
5857
    using iterator = ranges::iterator_t<range_type>;
5858
5859
    template <typename Reader, typename Range, typename T>
5860
    auto impl(Reader& rd, Range rng, T& value)
5861
        -> scan_expected<ranges::iterator_t<Range>>
5862
10.0k
    {
5863
10.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
10.0k
                        .transform_error(make_eof_scan_error));
5865
10.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
10.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
626
    {
5863
626
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
626
                        .transform_error(make_eof_scan_error));
5865
626
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
626
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
486
    {
5863
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
486
                        .transform_error(make_eof_scan_error));
5865
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
486
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
5867
5868
    template <typename T>
5869
    scan_expected<iterator> operator()(T& value)
5870
10.0k
    {
5871
10.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
10.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
0
            auto rd = make_reader<T, char_type>();
5876
0
            return impl(rd, range, value);
5877
0
        }
5878
0
        else if constexpr (!detail::is_type_disabled<T>) {
5879
0
            auto rd = make_reader<T, char_type>();
5880
0
            if (!is_segment_contiguous(range)) {
5881
0
                return impl(rd, range, value);
5882
0
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
10.0k
        else {
5889
10.0k
            SCN_EXPECT(false);
5890
10.0k
            SCN_UNREACHABLE;
5891
10.0k
        }
5892
10.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
626
    {
5871
626
        if constexpr (!detail::is_type_disabled<T> &&
5872
626
                      std::is_same_v<
5873
0
                          context_type,
5874
626
                          basic_contiguous_scan_context<char_type>>) {
5875
626
            auto rd = make_reader<T, char_type>();
5876
626
            return impl(rd, range, value);
5877
626
        }
5878
626
        else if constexpr (!detail::is_type_disabled<T>) {
5879
626
            auto rd = make_reader<T, char_type>();
5880
626
            if (!is_segment_contiguous(range)) {
5881
626
                return impl(rd, range, value);
5882
626
            }
5883
626
            auto crange = get_as_contiguous(range);
5884
626
            SCN_TRY(it, impl(rd, crange, value));
5885
626
            return ranges::next(range.begin(),
5886
626
                                ranges::distance(crange.begin(), it));
5887
626
        }
5888
626
        else {
5889
626
            SCN_EXPECT(false);
5890
626
            SCN_UNREACHABLE;
5891
626
        }
5892
626
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
486
    {
5871
486
        if constexpr (!detail::is_type_disabled<T> &&
5872
486
                      std::is_same_v<
5873
0
                          context_type,
5874
486
                          basic_contiguous_scan_context<char_type>>) {
5875
486
            auto rd = make_reader<T, char_type>();
5876
486
            return impl(rd, range, value);
5877
486
        }
5878
486
        else if constexpr (!detail::is_type_disabled<T>) {
5879
486
            auto rd = make_reader<T, char_type>();
5880
486
            if (!is_segment_contiguous(range)) {
5881
486
                return impl(rd, range, value);
5882
486
            }
5883
486
            auto crange = get_as_contiguous(range);
5884
486
            SCN_TRY(it, impl(rd, crange, value));
5885
486
            return ranges::next(range.begin(),
5886
486
                                ranges::distance(crange.begin(), it));
5887
486
        }
5888
486
        else {
5889
486
            SCN_EXPECT(false);
5890
486
            SCN_UNREACHABLE;
5891
486
        }
5892
486
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
5893
5894
    basic_scan_context<char_type> make_custom_ctx()
5895
0
    {
5896
0
        if constexpr (std::is_same_v<
5897
0
                          context_type,
5898
0
                          basic_contiguous_scan_context<char_type>>) {
5899
0
            auto it =
5900
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
5901
0
                    std::basic_string_view<char_type>(range.data(),
5902
0
                                                      range.size()),
5903
0
                    0};
5904
0
            return {it, args, loc};
5905
0
        }
5906
0
        else {
5907
0
            return {range.begin(), args, loc};
5908
0
        }
5909
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::make_custom_ctx()
5910
5911
    scan_expected<iterator> operator()(
5912
        typename context_type::arg_type::handle h)
5913
0
    {
5914
0
        if constexpr (!detail::is_type_disabled<void>) {
5915
0
            basic_scan_parse_context<char_type> parse_ctx{{}};
5916
0
            auto ctx = make_custom_ctx();
5917
0
            if (auto e = h.scan(parse_ctx, ctx); !e) {
5918
0
                return unexpected(e);
5919
0
            }
5920
5921
0
            if constexpr (std::is_same_v<
5922
0
                              context_type,
5923
0
                              basic_contiguous_scan_context<char_type>>) {
5924
0
                return range.begin() + ctx.begin().position();
5925
0
            }
5926
0
            else {
5927
0
                return ctx.begin();
5928
0
            }
5929
0
        }
5930
0
        else {
5931
0
            SCN_EXPECT(false);
5932
0
            SCN_UNREACHABLE;
5933
0
        }
5934
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
5935
5936
    range_type range;
5937
    args_type args;
5938
    detail::locale_ref loc;
5939
};
5940
5941
template <typename Iterator>
5942
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
5943
5944
template <typename Range>
5945
auto skip_fill(Range range,
5946
               std::ptrdiff_t max_width,
5947
               const detail::fill_type& fill,
5948
               bool want_skipped_width)
5949
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
5950
3.33k
{
5951
3.33k
    using char_type = detail::char_t<Range>;
5952
3.33k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
3.33k
    if (fill.size() <= sizeof(char_type)) {
5955
2.90k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
3.49k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
2.22k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
418
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
550
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
298
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
2.90k
        if (max_width == 0) {
5959
1.96k
            auto it = read_while_code_unit(range, pred);
5960
5961
1.96k
            if (want_skipped_width) {
5962
184
                auto prefix_width =
5963
184
                    static_cast<std::ptrdiff_t>(
5964
184
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
184
                    ranges::distance(range.begin(), it);
5966
184
                return result_type{it, prefix_width};
5967
184
            }
5968
1.78k
            return result_type{it, 0};
5969
1.96k
        }
5970
5971
936
        auto max_width_view = take_width(range, max_width);
5972
936
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
936
        if (want_skipped_width) {
5975
936
            return result_type{w_it.base(), max_width - w_it.count()};
5976
936
        }
5977
0
        return result_type{w_it.base(), 0};
5978
936
    }
5979
5980
436
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
436
    if (max_width == 0) {
5982
132
        auto it = read_while_code_units(range, fill_chars);
5983
5984
132
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
80
        return result_type{it, 0};
5991
132
    }
5992
5993
304
    auto max_width_view = take_width(range, max_width);
5994
304
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
304
    if (want_skipped_width) {
5997
304
        return result_type{w_it.base(), max_width - w_it.count()};
5998
304
    }
5999
0
    return result_type{w_it.base(), 0};
6000
304
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
2.03k
{
5951
2.03k
    using char_type = detail::char_t<Range>;
5952
2.03k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
2.03k
    if (fill.size() <= sizeof(char_type)) {
5955
1.80k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
1.80k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
1.80k
        if (max_width == 0) {
5959
1.68k
            auto it = read_while_code_unit(range, pred);
5960
5961
1.68k
            if (want_skipped_width) {
5962
136
                auto prefix_width =
5963
136
                    static_cast<std::ptrdiff_t>(
5964
136
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
136
                    ranges::distance(range.begin(), it);
5966
136
                return result_type{it, prefix_width};
5967
136
            }
5968
1.54k
            return result_type{it, 0};
5969
1.68k
        }
5970
5971
124
        auto max_width_view = take_width(range, max_width);
5972
124
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
124
        if (want_skipped_width) {
5975
124
            return result_type{w_it.base(), max_width - w_it.count()};
5976
124
        }
5977
0
        return result_type{w_it.base(), 0};
5978
124
    }
5979
5980
232
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
232
    if (max_width == 0) {
5982
132
        auto it = read_while_code_units(range, fill_chars);
5983
5984
132
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
80
        return result_type{it, 0};
5991
132
    }
5992
5993
100
    auto max_width_view = take_width(range, max_width);
5994
100
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
100
    if (want_skipped_width) {
5997
100
        return result_type{w_it.base(), max_width - w_it.count()};
5998
100
    }
5999
0
    return result_type{w_it.base(), 0};
6000
100
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
330
{
5951
330
    using char_type = detail::char_t<Range>;
5952
330
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
330
    if (fill.size() <= sizeof(char_type)) {
5955
330
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
330
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
330
        if (max_width == 0) {
5959
286
            auto it = read_while_code_unit(range, pred);
5960
5961
286
            if (want_skipped_width) {
5962
48
                auto prefix_width =
5963
48
                    static_cast<std::ptrdiff_t>(
5964
48
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
48
                    ranges::distance(range.begin(), it);
5966
48
                return result_type{it, prefix_width};
5967
48
            }
5968
238
            return result_type{it, 0};
5969
286
        }
5970
5971
44
        auto max_width_view = take_width(range, max_width);
5972
44
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
44
        if (want_skipped_width) {
5975
44
            return result_type{w_it.base(), max_width - w_it.count()};
5976
44
        }
5977
0
        return result_type{w_it.base(), 0};
5978
44
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
716
{
5951
716
    using char_type = detail::char_t<Range>;
5952
716
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
716
    if (fill.size() <= sizeof(char_type)) {
5955
512
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
512
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
512
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
512
        auto max_width_view = take_width(range, max_width);
5972
512
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
512
        if (want_skipped_width) {
5975
512
            return result_type{w_it.base(), max_width - w_it.count()};
5976
512
        }
5977
0
        return result_type{w_it.base(), 0};
5978
512
    }
5979
5980
204
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
204
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
204
    auto max_width_view = take_width(range, max_width);
5994
204
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
204
    if (want_skipped_width) {
5997
204
        return result_type{w_it.base(), max_width - w_it.count()};
5998
204
    }
5999
0
    return result_type{w_it.base(), 0};
6000
204
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
256
{
5951
256
    using char_type = detail::char_t<Range>;
5952
256
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
256
    if (fill.size() <= sizeof(char_type)) {
5955
256
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
256
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
256
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
256
        auto max_width_view = take_width(range, max_width);
5972
256
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
256
        if (want_skipped_width) {
5975
256
            return result_type{w_it.base(), max_width - w_it.count()};
5976
256
        }
5977
0
        return result_type{w_it.base(), 0};
5978
256
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
6001
6002
SCN_MAYBE_UNUSED constexpr scan_error check_widths_for_arg_reader(
6003
    const detail::format_specs& specs,
6004
    std::ptrdiff_t prefix_width,
6005
    std::ptrdiff_t value_width,
6006
    std::ptrdiff_t postfix_width)
6007
7.00k
{
6008
7.00k
    if (specs.width != 0) {
6009
1.77k
        if (prefix_width + value_width + postfix_width < specs.width) {
6010
784
            return {scan_error::invalid_scanned_value,
6011
784
                    "Scanned value too narrow, width did not exceed what "
6012
784
                    "was specified in the format string"};
6013
784
        }
6014
1.77k
    }
6015
6.22k
    if (specs.precision != 0) {
6016
1.49k
        if (prefix_width + value_width + postfix_width > specs.precision) {
6017
72
            return {scan_error::invalid_scanned_value,
6018
72
                    "Scanned value too wide, width exceeded the specified "
6019
72
                    "precision"};
6020
72
        }
6021
1.49k
    }
6022
6.15k
    return {};
6023
6.22k
}
6024
6025
template <typename Context>
6026
struct arg_reader {
6027
    using context_type = Context;
6028
    using char_type = typename context_type::char_type;
6029
6030
    using range_type = typename context_type::range_type;
6031
    using iterator = ranges::iterator_t<range_type>;
6032
6033
    template <typename Range>
6034
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6035
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6036
26.4k
    {
6037
26.4k
        const bool need_skipped_width =
6038
26.4k
            specs.width != 0 || specs.precision != 0;
6039
26.4k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
26.4k
        if (specs.align == detail::align_type::right ||
6043
26.4k
            specs.align == detail::align_type::center) {
6044
2.84k
            return skip_fill(rng, specs.precision, specs.fill,
6045
2.84k
                             need_skipped_width);
6046
2.84k
        }
6047
23.5k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
6.44k
            if (specs.precision != 0) {
6051
2.60k
                auto max_width_view = take_width(rng, specs.precision);
6052
2.60k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
2.49k
                                  .transform_error(make_eof_scan_error));
6054
2.49k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
2.60k
            }
6056
7.68k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
7.68k
                            make_eof_scan_error));
6058
6059
7.68k
            if (need_skipped_width) {
6060
2.80k
                return result_type{
6061
2.80k
                    it,
6062
2.80k
                    calculate_text_width(make_contiguous_buffer(
6063
2.80k
                                             ranges::subrange{rng.begin(), it})
6064
2.80k
                                             .view())};
6065
2.80k
            }
6066
1.04k
            return result_type{it, 0};
6067
7.68k
        }
6068
6069
17.1k
        return result_type{rng.begin(), 0};
6070
23.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
3.74k
    {
6037
3.74k
        const bool need_skipped_width =
6038
3.74k
            specs.width != 0 || specs.precision != 0;
6039
3.74k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.74k
        if (specs.align == detail::align_type::right ||
6043
3.74k
            specs.align == detail::align_type::center) {
6044
716
            return skip_fill(rng, specs.precision, specs.fill,
6045
716
                             need_skipped_width);
6046
716
        }
6047
3.02k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.87k
            if (specs.precision != 0) {
6051
1.87k
                auto max_width_view = take_width(rng, specs.precision);
6052
1.87k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
1.76k
                                  .transform_error(make_eof_scan_error));
6054
1.76k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
1.87k
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
1.15k
        return result_type{rng.begin(), 0};
6070
3.02k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
14.5k
    {
6037
14.5k
        const bool need_skipped_width =
6038
14.5k
            specs.width != 0 || specs.precision != 0;
6039
14.5k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
14.5k
        if (specs.align == detail::align_type::right ||
6043
14.5k
            specs.align == detail::align_type::center) {
6044
1.62k
            return skip_fill(rng, specs.precision, specs.fill,
6045
1.62k
                             need_skipped_width);
6046
1.62k
        }
6047
12.9k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.55k
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
3.10k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
3.10k
                            make_eof_scan_error));
6058
6059
3.10k
            if (need_skipped_width) {
6060
970
                return result_type{
6061
970
                    it,
6062
970
                    calculate_text_width(make_contiguous_buffer(
6063
970
                                             ranges::subrange{rng.begin(), it})
6064
970
                                             .view())};
6065
970
            }
6066
584
            return result_type{it, 0};
6067
3.10k
        }
6068
6069
11.4k
        return result_type{rng.begin(), 0};
6070
12.9k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
1.20k
    {
6037
1.20k
        const bool need_skipped_width =
6038
1.20k
            specs.width != 0 || specs.precision != 0;
6039
1.20k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
1.20k
        if (specs.align == detail::align_type::right ||
6043
1.20k
            specs.align == detail::align_type::center) {
6044
256
            return skip_fill(rng, specs.precision, specs.fill,
6045
256
                             need_skipped_width);
6046
256
        }
6047
944
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
730
            if (specs.precision != 0) {
6051
730
                auto max_width_view = take_width(rng, specs.precision);
6052
730
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
730
                                  .transform_error(make_eof_scan_error));
6054
730
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
730
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
214
        return result_type{rng.begin(), 0};
6070
944
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
6.87k
    {
6037
6.87k
        const bool need_skipped_width =
6038
6.87k
            specs.width != 0 || specs.precision != 0;
6039
6.87k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
6.87k
        if (specs.align == detail::align_type::right ||
6043
6.87k
            specs.align == detail::align_type::center) {
6044
242
            return skip_fill(rng, specs.precision, specs.fill,
6045
242
                             need_skipped_width);
6046
242
        }
6047
6.63k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
2.29k
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
4.58k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
4.58k
                            make_eof_scan_error));
6058
6059
4.58k
            if (need_skipped_width) {
6060
1.83k
                return result_type{
6061
1.83k
                    it,
6062
1.83k
                    calculate_text_width(make_contiguous_buffer(
6063
1.83k
                                             ranges::subrange{rng.begin(), it})
6064
1.83k
                                             .view())};
6065
1.83k
            }
6066
458
            return result_type{it, 0};
6067
4.58k
        }
6068
6069
4.34k
        return result_type{rng.begin(), 0};
6070
6.63k
    }
6071
6072
    template <typename Range>
6073
    auto impl_postfix(Range rng,
6074
                      bool rd_skip_ws_before_read,
6075
                      std::ptrdiff_t prefix_width,
6076
                      std::ptrdiff_t value_width)
6077
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6078
5.28k
    {
6079
5.28k
        const bool need_skipped_width =
6080
5.28k
            specs.width != 0 || specs.precision != 0;
6081
5.28k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
5.28k
        if (specs.align == detail::align_type::left ||
6084
5.28k
            specs.align == detail::align_type::center) {
6085
624
            if (specs.precision != 0 &&
6086
624
                specs.precision - value_width - prefix_width == 0) {
6087
128
                return result_type{rng.begin(), 0};
6088
128
            }
6089
496
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
496
                             specs.fill, need_skipped_width);
6091
624
        }
6092
4.66k
        if (specs.align == detail::align_type::none &&
6093
4.66k
            !rd_skip_ws_before_read &&
6094
4.66k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
3.96k
             (specs.precision != 0 &&
6096
3.43k
              prefix_width + value_width < specs.precision))) {
6097
1.01k
            if (specs.precision != 0) {
6098
490
                const auto initial_width =
6099
490
                    specs.precision - prefix_width - value_width;
6100
490
                auto max_width_view = take_width(rng, initial_width);
6101
490
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
490
                                  .transform_error(make_eof_scan_error));
6103
490
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
490
            }
6105
1.05k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
1.05k
                            make_eof_scan_error));
6107
6108
1.05k
            if (need_skipped_width) {
6109
528
                return result_type{
6110
528
                    it,
6111
528
                    calculate_text_width(make_contiguous_buffer(
6112
528
                                             ranges::subrange{rng.begin(), it})
6113
528
                                             .view())};
6114
528
            }
6115
0
            return result_type{it, 0};
6116
1.05k
        }
6117
3.64k
        return result_type{rng.begin(), 0};
6118
4.66k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
4.17k
    {
6079
4.17k
        const bool need_skipped_width =
6080
4.17k
            specs.width != 0 || specs.precision != 0;
6081
4.17k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
4.17k
        if (specs.align == detail::align_type::left ||
6084
4.17k
            specs.align == detail::align_type::center) {
6085
480
            if (specs.precision != 0 &&
6086
480
                specs.precision - value_width - prefix_width == 0) {
6087
72
                return result_type{rng.begin(), 0};
6088
72
            }
6089
408
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
408
                             specs.fill, need_skipped_width);
6091
480
        }
6092
3.69k
        if (specs.align == detail::align_type::none &&
6093
3.69k
            !rd_skip_ws_before_read &&
6094
3.69k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
3.26k
             (specs.precision != 0 &&
6096
3.08k
              prefix_width + value_width < specs.precision))) {
6097
590
            if (specs.precision != 0) {
6098
412
                const auto initial_width =
6099
412
                    specs.precision - prefix_width - value_width;
6100
412
                auto max_width_view = take_width(rng, initial_width);
6101
412
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
412
                                  .transform_error(make_eof_scan_error));
6103
412
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
412
            }
6105
356
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
356
                            make_eof_scan_error));
6107
6108
356
            if (need_skipped_width) {
6109
178
                return result_type{
6110
178
                    it,
6111
178
                    calculate_text_width(make_contiguous_buffer(
6112
178
                                             ranges::subrange{rng.begin(), it})
6113
178
                                             .view())};
6114
178
            }
6115
0
            return result_type{it, 0};
6116
356
        }
6117
3.10k
        return result_type{rng.begin(), 0};
6118
3.69k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
1.10k
    {
6079
1.10k
        const bool need_skipped_width =
6080
1.10k
            specs.width != 0 || specs.precision != 0;
6081
1.10k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
1.10k
        if (specs.align == detail::align_type::left ||
6084
1.10k
            specs.align == detail::align_type::center) {
6085
144
            if (specs.precision != 0 &&
6086
144
                specs.precision - value_width - prefix_width == 0) {
6087
56
                return result_type{rng.begin(), 0};
6088
56
            }
6089
88
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
88
                             specs.fill, need_skipped_width);
6091
144
        }
6092
964
        if (specs.align == detail::align_type::none &&
6093
964
            !rd_skip_ws_before_read &&
6094
964
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
704
             (specs.precision != 0 &&
6096
428
              prefix_width + value_width < specs.precision))) {
6097
428
            if (specs.precision != 0) {
6098
78
                const auto initial_width =
6099
78
                    specs.precision - prefix_width - value_width;
6100
78
                auto max_width_view = take_width(rng, initial_width);
6101
78
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
78
                                  .transform_error(make_eof_scan_error));
6103
78
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
78
            }
6105
700
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
700
                            make_eof_scan_error));
6107
6108
700
            if (need_skipped_width) {
6109
350
                return result_type{
6110
350
                    it,
6111
350
                    calculate_text_width(make_contiguous_buffer(
6112
350
                                             ranges::subrange{rng.begin(), it})
6113
350
                                             .view())};
6114
350
            }
6115
0
            return result_type{it, 0};
6116
700
        }
6117
536
        return result_type{rng.begin(), 0};
6118
964
    }
6119
6120
    template <typename Reader, typename Range, typename T>
6121
    auto impl(Reader& rd, Range rng, T& value)
6122
        -> scan_expected<ranges::iterator_t<Range>>
6123
26.4k
    {
6124
26.4k
        const bool need_skipped_width =
6125
26.4k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
26.4k
        auto it = rng.begin();
6129
26.4k
        std::ptrdiff_t prefix_width = 0;
6130
26.4k
        if (specs.precision != 0) {
6131
4.94k
            auto max_width_view = take_width(rng, specs.precision);
6132
4.94k
            SCN_TRY(prefix_result,
6133
4.83k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
4.83k
            it = prefix_result.first.base();
6135
4.83k
            prefix_width = prefix_result.second;
6136
4.83k
        }
6137
21.4k
        else {
6138
21.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
21.4k
            std::tie(it, prefix_width) = prefix_result;
6140
21.4k
        }
6141
26.2k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
26.2k
        std::ptrdiff_t value_width = 0;
6145
26.2k
        if (specs.precision != 0) {
6146
4.83k
            if (specs.precision <= prefix_width) {
6147
66
                return unexpected_scan_error(
6148
66
                    scan_error::invalid_scanned_value,
6149
66
                    "Too many fill characters before value, "
6150
66
                    "precision exceeded before reading value");
6151
66
            }
6152
6153
4.76k
            const auto initial_width = specs.precision - prefix_width;
6154
4.76k
            auto max_width_view =
6155
4.76k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
4.76k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
1.49k
            it = w_it.base();
6158
1.49k
            value_width = initial_width - w_it.count();
6159
1.49k
        }
6160
21.4k
        else {
6161
21.4k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
5.51k
                                             specs, value, loc));
6163
6164
5.51k
            if (need_skipped_width) {
6165
1.72k
                value_width = calculate_text_width(
6166
1.72k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
1.72k
                        .view());
6168
1.72k
            }
6169
5.51k
        }
6170
6171
        // Read postfix
6172
7.00k
        std::ptrdiff_t postfix_width = 0;
6173
7.00k
        if (it != rng.end()) {
6174
5.28k
            SCN_TRY(postfix_result,
6175
5.28k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
5.28k
                                 rd.skip_ws_before_read(), prefix_width,
6177
5.28k
                                 value_width));
6178
5.28k
            std::tie(it, postfix_width) = postfix_result;
6179
5.28k
        }
6180
6181
7.00k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
7.00k
                                                 value_width, postfix_width);
6183
7.00k
            !e) {
6184
856
            return unexpected(e);
6185
856
        }
6186
6187
6.15k
        return it;
6188
7.00k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
526
    {
6124
526
        const bool need_skipped_width =
6125
526
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
526
        auto it = rng.begin();
6129
526
        std::ptrdiff_t prefix_width = 0;
6130
526
        if (specs.precision != 0) {
6131
292
            auto max_width_view = take_width(rng, specs.precision);
6132
292
            SCN_TRY(prefix_result,
6133
276
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
276
            it = prefix_result.first.base();
6135
276
            prefix_width = prefix_result.second;
6136
276
        }
6137
234
        else {
6138
234
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
234
            std::tie(it, prefix_width) = prefix_result;
6140
234
        }
6141
510
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
510
        std::ptrdiff_t value_width = 0;
6145
510
        if (specs.precision != 0) {
6146
276
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
270
            const auto initial_width = specs.precision - prefix_width;
6154
270
            auto max_width_view =
6155
270
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
270
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
234
        else {
6161
234
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
526
    {
6124
526
        const bool need_skipped_width =
6125
526
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
526
        auto it = rng.begin();
6129
526
        std::ptrdiff_t prefix_width = 0;
6130
526
        if (specs.precision != 0) {
6131
292
            auto max_width_view = take_width(rng, specs.precision);
6132
292
            SCN_TRY(prefix_result,
6133
276
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
276
            it = prefix_result.first.base();
6135
276
            prefix_width = prefix_result.second;
6136
276
        }
6137
234
        else {
6138
234
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
234
            std::tie(it, prefix_width) = prefix_result;
6140
234
        }
6141
510
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
510
        std::ptrdiff_t value_width = 0;
6145
510
        if (specs.precision != 0) {
6146
276
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
270
            const auto initial_width = specs.precision - prefix_width;
6154
270
            auto max_width_view =
6155
270
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
270
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
234
        else {
6161
234
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
462
    {
6124
462
        const bool need_skipped_width =
6125
462
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
462
        auto it = rng.begin();
6129
462
        std::ptrdiff_t prefix_width = 0;
6130
462
        if (specs.precision != 0) {
6131
252
            auto max_width_view = take_width(rng, specs.precision);
6132
252
            SCN_TRY(prefix_result,
6133
244
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
244
            it = prefix_result.first.base();
6135
244
            prefix_width = prefix_result.second;
6136
244
        }
6137
210
        else {
6138
210
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
210
            std::tie(it, prefix_width) = prefix_result;
6140
210
        }
6141
454
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
454
        std::ptrdiff_t value_width = 0;
6145
454
        if (specs.precision != 0) {
6146
244
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
240
            const auto initial_width = specs.precision - prefix_width;
6154
240
            auto max_width_view =
6155
240
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
240
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
210
        else {
6161
210
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
706
    {
6124
706
        const bool need_skipped_width =
6125
706
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
706
        auto it = rng.begin();
6129
706
        std::ptrdiff_t prefix_width = 0;
6130
706
        if (specs.precision != 0) {
6131
358
            auto max_width_view = take_width(rng, specs.precision);
6132
358
            SCN_TRY(prefix_result,
6133
338
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
338
            it = prefix_result.first.base();
6135
338
            prefix_width = prefix_result.second;
6136
338
        }
6137
348
        else {
6138
348
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
348
            std::tie(it, prefix_width) = prefix_result;
6140
348
        }
6141
686
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
686
        std::ptrdiff_t value_width = 0;
6145
686
        if (specs.precision != 0) {
6146
338
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
332
            const auto initial_width = specs.precision - prefix_width;
6154
332
            auto max_width_view =
6155
332
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
332
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
348
        else {
6161
348
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
508
    {
6124
508
        const bool need_skipped_width =
6125
508
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
508
        auto it = rng.begin();
6129
508
        std::ptrdiff_t prefix_width = 0;
6130
508
        if (specs.precision != 0) {
6131
284
            auto max_width_view = take_width(rng, specs.precision);
6132
284
            SCN_TRY(prefix_result,
6133
284
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
284
            it = prefix_result.first.base();
6135
284
            prefix_width = prefix_result.second;
6136
284
        }
6137
224
        else {
6138
224
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
224
            std::tie(it, prefix_width) = prefix_result;
6140
224
        }
6141
508
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
508
        std::ptrdiff_t value_width = 0;
6145
508
        if (specs.precision != 0) {
6146
284
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
278
            const auto initial_width = specs.precision - prefix_width;
6154
278
            auto max_width_view =
6155
278
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
278
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
246
            it = w_it.base();
6158
246
            value_width = initial_width - w_it.count();
6159
246
        }
6160
224
        else {
6161
224
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
206
                                             specs, value, loc));
6163
6164
206
            if (need_skipped_width) {
6165
148
                value_width = calculate_text_width(
6166
148
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
148
                        .view());
6168
148
            }
6169
206
        }
6170
6171
        // Read postfix
6172
452
        std::ptrdiff_t postfix_width = 0;
6173
452
        if (it != rng.end()) {
6174
452
            SCN_TRY(postfix_result,
6175
452
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
452
                                 rd.skip_ws_before_read(), prefix_width,
6177
452
                                 value_width));
6178
452
            std::tie(it, postfix_width) = postfix_result;
6179
452
        }
6180
6181
452
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
452
                                                 value_width, postfix_width);
6183
452
            !e) {
6184
134
            return unexpected(e);
6185
134
        }
6186
6187
318
        return it;
6188
452
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
538
    {
6124
538
        const bool need_skipped_width =
6125
538
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
538
        auto it = rng.begin();
6129
538
        std::ptrdiff_t prefix_width = 0;
6130
538
        if (specs.precision != 0) {
6131
290
            auto max_width_view = take_width(rng, specs.precision);
6132
290
            SCN_TRY(prefix_result,
6133
274
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
274
            it = prefix_result.first.base();
6135
274
            prefix_width = prefix_result.second;
6136
274
        }
6137
248
        else {
6138
248
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
248
            std::tie(it, prefix_width) = prefix_result;
6140
248
        }
6141
522
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
522
        std::ptrdiff_t value_width = 0;
6145
522
        if (specs.precision != 0) {
6146
274
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
266
            const auto initial_width = specs.precision - prefix_width;
6154
266
            auto max_width_view =
6155
266
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
266
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
248
        else {
6161
248
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
5.02k
    {
6124
5.02k
        const bool need_skipped_width =
6125
5.02k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
5.02k
        auto it = rng.begin();
6129
5.02k
        std::ptrdiff_t prefix_width = 0;
6130
5.02k
        if (specs.precision != 0) {
6131
658
            auto max_width_view = take_width(rng, specs.precision);
6132
658
            SCN_TRY(prefix_result,
6133
646
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
646
            it = prefix_result.first.base();
6135
646
            prefix_width = prefix_result.second;
6136
646
        }
6137
4.36k
        else {
6138
4.36k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
4.36k
            std::tie(it, prefix_width) = prefix_result;
6140
4.36k
        }
6141
5.01k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
5.01k
        std::ptrdiff_t value_width = 0;
6145
5.01k
        if (specs.precision != 0) {
6146
646
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
642
            const auto initial_width = specs.precision - prefix_width;
6154
642
            auto max_width_view =
6155
642
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
642
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
318
            it = w_it.base();
6158
318
            value_width = initial_width - w_it.count();
6159
318
        }
6160
4.36k
        else {
6161
4.36k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.26k
                                             specs, value, loc));
6163
6164
1.26k
            if (need_skipped_width) {
6165
180
                value_width = calculate_text_width(
6166
180
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
180
                        .view());
6168
180
            }
6169
1.26k
        }
6170
6171
        // Read postfix
6172
1.58k
        std::ptrdiff_t postfix_width = 0;
6173
1.58k
        if (it != rng.end()) {
6174
1.24k
            SCN_TRY(postfix_result,
6175
1.24k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.24k
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.24k
                                 value_width));
6178
1.24k
            std::tie(it, postfix_width) = postfix_result;
6179
1.24k
        }
6180
6181
1.58k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.58k
                                                 value_width, postfix_width);
6183
1.58k
            !e) {
6184
94
            return unexpected(e);
6185
94
        }
6186
6187
1.49k
        return it;
6188
1.58k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
5.02k
    {
6124
5.02k
        const bool need_skipped_width =
6125
5.02k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
5.02k
        auto it = rng.begin();
6129
5.02k
        std::ptrdiff_t prefix_width = 0;
6130
5.02k
        if (specs.precision != 0) {
6131
658
            auto max_width_view = take_width(rng, specs.precision);
6132
658
            SCN_TRY(prefix_result,
6133
646
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
646
            it = prefix_result.first.base();
6135
646
            prefix_width = prefix_result.second;
6136
646
        }
6137
4.36k
        else {
6138
4.36k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
4.36k
            std::tie(it, prefix_width) = prefix_result;
6140
4.36k
        }
6141
5.01k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
5.01k
        std::ptrdiff_t value_width = 0;
6145
5.01k
        if (specs.precision != 0) {
6146
646
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
642
            const auto initial_width = specs.precision - prefix_width;
6154
642
            auto max_width_view =
6155
642
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
642
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
318
            it = w_it.base();
6158
318
            value_width = initial_width - w_it.count();
6159
318
        }
6160
4.36k
        else {
6161
4.36k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.26k
                                             specs, value, loc));
6163
6164
1.26k
            if (need_skipped_width) {
6165
180
                value_width = calculate_text_width(
6166
180
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
180
                        .view());
6168
180
            }
6169
1.26k
        }
6170
6171
        // Read postfix
6172
1.58k
        std::ptrdiff_t postfix_width = 0;
6173
1.58k
        if (it != rng.end()) {
6174
1.24k
            SCN_TRY(postfix_result,
6175
1.24k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.24k
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.24k
                                 value_width));
6178
1.24k
            std::tie(it, postfix_width) = postfix_result;
6179
1.24k
        }
6180
6181
1.58k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.58k
                                                 value_width, postfix_width);
6183
1.58k
            !e) {
6184
94
            return unexpected(e);
6185
94
        }
6186
6187
1.49k
        return it;
6188
1.58k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
5.02k
    {
6124
5.02k
        const bool need_skipped_width =
6125
5.02k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
5.02k
        auto it = rng.begin();
6129
5.02k
        std::ptrdiff_t prefix_width = 0;
6130
5.02k
        if (specs.precision != 0) {
6131
658
            auto max_width_view = take_width(rng, specs.precision);
6132
658
            SCN_TRY(prefix_result,
6133
646
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
646
            it = prefix_result.first.base();
6135
646
            prefix_width = prefix_result.second;
6136
646
        }
6137
4.36k
        else {
6138
4.36k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
4.36k
            std::tie(it, prefix_width) = prefix_result;
6140
4.36k
        }
6141
5.01k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
5.01k
        std::ptrdiff_t value_width = 0;
6145
5.01k
        if (specs.precision != 0) {
6146
646
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
642
            const auto initial_width = specs.precision - prefix_width;
6154
642
            auto max_width_view =
6155
642
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
642
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
318
            it = w_it.base();
6158
318
            value_width = initial_width - w_it.count();
6159
318
        }
6160
4.36k
        else {
6161
4.36k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.26k
                                             specs, value, loc));
6163
6164
1.26k
            if (need_skipped_width) {
6165
180
                value_width = calculate_text_width(
6166
180
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
180
                        .view());
6168
180
            }
6169
1.26k
        }
6170
6171
        // Read postfix
6172
1.58k
        std::ptrdiff_t postfix_width = 0;
6173
1.58k
        if (it != rng.end()) {
6174
1.24k
            SCN_TRY(postfix_result,
6175
1.24k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.24k
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.24k
                                 value_width));
6178
1.24k
            std::tie(it, postfix_width) = postfix_result;
6179
1.24k
        }
6180
6181
1.58k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.58k
                                                 value_width, postfix_width);
6183
1.58k
            !e) {
6184
94
            return unexpected(e);
6185
94
        }
6186
6187
1.49k
        return it;
6188
1.58k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
450
    {
6124
450
        const bool need_skipped_width =
6125
450
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
450
        auto it = rng.begin();
6129
450
        std::ptrdiff_t prefix_width = 0;
6130
450
        if (specs.precision != 0) {
6131
126
            auto max_width_view = take_width(rng, specs.precision);
6132
126
            SCN_TRY(prefix_result,
6133
126
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
126
            it = prefix_result.first.base();
6135
126
            prefix_width = prefix_result.second;
6136
126
        }
6137
324
        else {
6138
324
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
324
            std::tie(it, prefix_width) = prefix_result;
6140
324
        }
6141
450
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
450
        std::ptrdiff_t value_width = 0;
6145
450
        if (specs.precision != 0) {
6146
126
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
124
            const auto initial_width = specs.precision - prefix_width;
6154
124
            auto max_width_view =
6155
124
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
124
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
324
        else {
6161
324
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
450
    {
6124
450
        const bool need_skipped_width =
6125
450
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
450
        auto it = rng.begin();
6129
450
        std::ptrdiff_t prefix_width = 0;
6130
450
        if (specs.precision != 0) {
6131
126
            auto max_width_view = take_width(rng, specs.precision);
6132
126
            SCN_TRY(prefix_result,
6133
126
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
126
            it = prefix_result.first.base();
6135
126
            prefix_width = prefix_result.second;
6136
126
        }
6137
324
        else {
6138
324
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
324
            std::tie(it, prefix_width) = prefix_result;
6140
324
        }
6141
450
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
450
        std::ptrdiff_t value_width = 0;
6145
450
        if (specs.precision != 0) {
6146
126
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
124
            const auto initial_width = specs.precision - prefix_width;
6154
124
            auto max_width_view =
6155
124
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
124
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
324
        else {
6161
324
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
402
    {
6124
402
        const bool need_skipped_width =
6125
402
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
402
        auto it = rng.begin();
6129
402
        std::ptrdiff_t prefix_width = 0;
6130
402
        if (specs.precision != 0) {
6131
104
            auto max_width_view = take_width(rng, specs.precision);
6132
104
            SCN_TRY(prefix_result,
6133
104
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
104
            it = prefix_result.first.base();
6135
104
            prefix_width = prefix_result.second;
6136
104
        }
6137
298
        else {
6138
298
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
298
            std::tie(it, prefix_width) = prefix_result;
6140
298
        }
6141
402
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
402
        std::ptrdiff_t value_width = 0;
6145
402
        if (specs.precision != 0) {
6146
104
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
102
            const auto initial_width = specs.precision - prefix_width;
6154
102
            auto max_width_view =
6155
102
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
102
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
298
        else {
6161
298
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
516
    {
6124
516
        const bool need_skipped_width =
6125
516
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
516
        auto it = rng.begin();
6129
516
        std::ptrdiff_t prefix_width = 0;
6130
516
        if (specs.precision != 0) {
6131
150
            auto max_width_view = take_width(rng, specs.precision);
6132
150
            SCN_TRY(prefix_result,
6133
150
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
150
            it = prefix_result.first.base();
6135
150
            prefix_width = prefix_result.second;
6136
150
        }
6137
366
        else {
6138
366
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
366
            std::tie(it, prefix_width) = prefix_result;
6140
366
        }
6141
516
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
516
        std::ptrdiff_t value_width = 0;
6145
516
        if (specs.precision != 0) {
6146
150
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
148
            const auto initial_width = specs.precision - prefix_width;
6154
148
            auto max_width_view =
6155
148
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
148
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
366
        else {
6161
366
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
430
    {
6124
430
        const bool need_skipped_width =
6125
430
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
430
        auto it = rng.begin();
6129
430
        std::ptrdiff_t prefix_width = 0;
6130
430
        if (specs.precision != 0) {
6131
120
            auto max_width_view = take_width(rng, specs.precision);
6132
120
            SCN_TRY(prefix_result,
6133
120
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
120
            it = prefix_result.first.base();
6135
120
            prefix_width = prefix_result.second;
6136
120
        }
6137
310
        else {
6138
310
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
310
            std::tie(it, prefix_width) = prefix_result;
6140
310
        }
6141
430
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
430
        std::ptrdiff_t value_width = 0;
6145
430
        if (specs.precision != 0) {
6146
120
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
118
            const auto initial_width = specs.precision - prefix_width;
6154
118
            auto max_width_view =
6155
118
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
118
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
98
            it = w_it.base();
6158
98
            value_width = initial_width - w_it.count();
6159
98
        }
6160
310
        else {
6161
310
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
296
                                             specs, value, loc));
6163
6164
296
            if (need_skipped_width) {
6165
232
                value_width = calculate_text_width(
6166
232
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
232
                        .view());
6168
232
            }
6169
296
        }
6170
6171
        // Read postfix
6172
394
        std::ptrdiff_t postfix_width = 0;
6173
394
        if (it != rng.end()) {
6174
394
            SCN_TRY(postfix_result,
6175
394
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
394
                                 rd.skip_ws_before_read(), prefix_width,
6177
394
                                 value_width));
6178
394
            std::tie(it, postfix_width) = postfix_result;
6179
394
        }
6180
6181
394
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
394
                                                 value_width, postfix_width);
6183
394
            !e) {
6184
230
            return unexpected(e);
6185
230
        }
6186
6187
164
        return it;
6188
394
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
436
    {
6124
436
        const bool need_skipped_width =
6125
436
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
436
        auto it = rng.begin();
6129
436
        std::ptrdiff_t prefix_width = 0;
6130
436
        if (specs.precision != 0) {
6131
118
            auto max_width_view = take_width(rng, specs.precision);
6132
118
            SCN_TRY(prefix_result,
6133
118
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
118
            it = prefix_result.first.base();
6135
118
            prefix_width = prefix_result.second;
6136
118
        }
6137
318
        else {
6138
318
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
318
            std::tie(it, prefix_width) = prefix_result;
6140
318
        }
6141
436
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
436
        std::ptrdiff_t value_width = 0;
6145
436
        if (specs.precision != 0) {
6146
118
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
116
            const auto initial_width = specs.precision - prefix_width;
6154
116
            auto max_width_view =
6155
116
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
116
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
318
        else {
6161
318
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
1.79k
    {
6124
1.79k
        const bool need_skipped_width =
6125
1.79k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.79k
        auto it = rng.begin();
6129
1.79k
        std::ptrdiff_t prefix_width = 0;
6130
1.79k
        if (specs.precision != 0) {
6131
152
            auto max_width_view = take_width(rng, specs.precision);
6132
152
            SCN_TRY(prefix_result,
6133
152
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
152
            it = prefix_result.first.base();
6135
152
            prefix_width = prefix_result.second;
6136
152
        }
6137
1.64k
        else {
6138
1.64k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.64k
            std::tie(it, prefix_width) = prefix_result;
6140
1.64k
        }
6141
1.79k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.79k
        std::ptrdiff_t value_width = 0;
6145
1.79k
        if (specs.precision != 0) {
6146
152
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
150
            const auto initial_width = specs.precision - prefix_width;
6154
150
            auto max_width_view =
6155
150
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
150
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
66
            it = w_it.base();
6158
66
            value_width = initial_width - w_it.count();
6159
66
        }
6160
1.64k
        else {
6161
1.64k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
402
                                             specs, value, loc));
6163
6164
402
            if (need_skipped_width) {
6165
268
                value_width = calculate_text_width(
6166
268
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
268
                        .view());
6168
268
            }
6169
402
        }
6170
6171
        // Read postfix
6172
468
        std::ptrdiff_t postfix_width = 0;
6173
468
        if (it != rng.end()) {
6174
238
            SCN_TRY(postfix_result,
6175
238
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
238
                                 rd.skip_ws_before_read(), prefix_width,
6177
238
                                 value_width));
6178
238
            std::tie(it, postfix_width) = postfix_result;
6179
238
        }
6180
6181
468
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
468
                                                 value_width, postfix_width);
6183
468
            !e) {
6184
70
            return unexpected(e);
6185
70
        }
6186
6187
398
        return it;
6188
468
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
1.79k
    {
6124
1.79k
        const bool need_skipped_width =
6125
1.79k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.79k
        auto it = rng.begin();
6129
1.79k
        std::ptrdiff_t prefix_width = 0;
6130
1.79k
        if (specs.precision != 0) {
6131
152
            auto max_width_view = take_width(rng, specs.precision);
6132
152
            SCN_TRY(prefix_result,
6133
152
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
152
            it = prefix_result.first.base();
6135
152
            prefix_width = prefix_result.second;
6136
152
        }
6137
1.64k
        else {
6138
1.64k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.64k
            std::tie(it, prefix_width) = prefix_result;
6140
1.64k
        }
6141
1.79k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.79k
        std::ptrdiff_t value_width = 0;
6145
1.79k
        if (specs.precision != 0) {
6146
152
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
150
            const auto initial_width = specs.precision - prefix_width;
6154
150
            auto max_width_view =
6155
150
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
150
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
66
            it = w_it.base();
6158
66
            value_width = initial_width - w_it.count();
6159
66
        }
6160
1.64k
        else {
6161
1.64k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
402
                                             specs, value, loc));
6163
6164
402
            if (need_skipped_width) {
6165
268
                value_width = calculate_text_width(
6166
268
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
268
                        .view());
6168
268
            }
6169
402
        }
6170
6171
        // Read postfix
6172
468
        std::ptrdiff_t postfix_width = 0;
6173
468
        if (it != rng.end()) {
6174
238
            SCN_TRY(postfix_result,
6175
238
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
238
                                 rd.skip_ws_before_read(), prefix_width,
6177
238
                                 value_width));
6178
238
            std::tie(it, postfix_width) = postfix_result;
6179
238
        }
6180
6181
468
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
468
                                                 value_width, postfix_width);
6183
468
            !e) {
6184
70
            return unexpected(e);
6185
70
        }
6186
6187
398
        return it;
6188
468
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
1.79k
    {
6124
1.79k
        const bool need_skipped_width =
6125
1.79k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.79k
        auto it = rng.begin();
6129
1.79k
        std::ptrdiff_t prefix_width = 0;
6130
1.79k
        if (specs.precision != 0) {
6131
152
            auto max_width_view = take_width(rng, specs.precision);
6132
152
            SCN_TRY(prefix_result,
6133
152
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
152
            it = prefix_result.first.base();
6135
152
            prefix_width = prefix_result.second;
6136
152
        }
6137
1.64k
        else {
6138
1.64k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.64k
            std::tie(it, prefix_width) = prefix_result;
6140
1.64k
        }
6141
1.79k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.79k
        std::ptrdiff_t value_width = 0;
6145
1.79k
        if (specs.precision != 0) {
6146
152
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
150
            const auto initial_width = specs.precision - prefix_width;
6154
150
            auto max_width_view =
6155
150
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
150
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
66
            it = w_it.base();
6158
66
            value_width = initial_width - w_it.count();
6159
66
        }
6160
1.64k
        else {
6161
1.64k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
402
                                             specs, value, loc));
6163
6164
402
            if (need_skipped_width) {
6165
268
                value_width = calculate_text_width(
6166
268
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
268
                        .view());
6168
268
            }
6169
402
        }
6170
6171
        // Read postfix
6172
468
        std::ptrdiff_t postfix_width = 0;
6173
468
        if (it != rng.end()) {
6174
238
            SCN_TRY(postfix_result,
6175
238
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
238
                                 rd.skip_ws_before_read(), prefix_width,
6177
238
                                 value_width));
6178
238
            std::tie(it, postfix_width) = postfix_result;
6179
238
        }
6180
6181
468
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
468
                                                 value_width, postfix_width);
6183
468
            !e) {
6184
70
            return unexpected(e);
6185
70
        }
6186
6187
398
        return it;
6188
468
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
6189
6190
    template <typename T>
6191
    scan_expected<iterator> operator()(T& value)
6192
63.3k
    {
6193
63.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
63.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
0
            auto rd = make_reader<T, char_type>();
6198
63.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
36.9k
                return unexpected(e);
6200
36.9k
            }
6201
6202
26.4k
            return impl(rd, range, value);
6203
63.3k
        }
6204
0
        else if constexpr (!detail::is_type_disabled<T>) {
6205
0
            auto rd = make_reader<T, char_type>();
6206
0
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
0
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
0
                specs.width != 0) {
6212
0
                return impl(rd, range, value);
6213
0
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
63.3k
        else {
6221
63.3k
            SCN_EXPECT(false);
6222
63.3k
            SCN_UNREACHABLE;
6223
63.3k
        }
6224
63.3k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
5.17k
    {
6193
5.17k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.17k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.17k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.17k
            auto rd = make_reader<T, char_type>();
6198
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.65k
                return unexpected(e);
6200
4.65k
            }
6201
6202
526
            return impl(rd, range, value);
6203
5.17k
        }
6204
5.17k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.17k
            auto rd = make_reader<T, char_type>();
6206
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.17k
                return unexpected(e);
6208
5.17k
            }
6209
6210
5.17k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.17k
                specs.width != 0) {
6212
5.17k
                return impl(rd, range, value);
6213
5.17k
            }
6214
6215
5.17k
            auto crange = get_as_contiguous(range);
6216
5.17k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.17k
            return ranges::next(range.begin(),
6218
5.17k
                                ranges::distance(crange.begin(), it));
6219
5.17k
        }
6220
5.17k
        else {
6221
5.17k
            SCN_EXPECT(false);
6222
5.17k
            SCN_UNREACHABLE;
6223
5.17k
        }
6224
5.17k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
5.17k
    {
6193
5.17k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.17k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.17k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.17k
            auto rd = make_reader<T, char_type>();
6198
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.65k
                return unexpected(e);
6200
4.65k
            }
6201
6202
526
            return impl(rd, range, value);
6203
5.17k
        }
6204
5.17k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.17k
            auto rd = make_reader<T, char_type>();
6206
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.17k
                return unexpected(e);
6208
5.17k
            }
6209
6210
5.17k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.17k
                specs.width != 0) {
6212
5.17k
                return impl(rd, range, value);
6213
5.17k
            }
6214
6215
5.17k
            auto crange = get_as_contiguous(range);
6216
5.17k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.17k
            return ranges::next(range.begin(),
6218
5.17k
                                ranges::distance(crange.begin(), it));
6219
5.17k
        }
6220
5.17k
        else {
6221
5.17k
            SCN_EXPECT(false);
6222
5.17k
            SCN_UNREACHABLE;
6223
5.17k
        }
6224
5.17k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
6192
5.14k
    {
6193
5.14k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.14k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.14k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.14k
            auto rd = make_reader<T, char_type>();
6198
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.68k
                return unexpected(e);
6200
4.68k
            }
6201
6202
462
            return impl(rd, range, value);
6203
5.14k
        }
6204
5.14k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.14k
            auto rd = make_reader<T, char_type>();
6206
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.14k
                return unexpected(e);
6208
5.14k
            }
6209
6210
5.14k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.14k
                specs.width != 0) {
6212
5.14k
                return impl(rd, range, value);
6213
5.14k
            }
6214
6215
5.14k
            auto crange = get_as_contiguous(range);
6216
5.14k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.14k
            return ranges::next(range.begin(),
6218
5.14k
                                ranges::distance(crange.begin(), it));
6219
5.14k
        }
6220
5.14k
        else {
6221
5.14k
            SCN_EXPECT(false);
6222
5.14k
            SCN_UNREACHABLE;
6223
5.14k
        }
6224
5.14k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
6192
5.17k
    {
6193
5.17k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.17k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.17k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.17k
            auto rd = make_reader<T, char_type>();
6198
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.47k
                return unexpected(e);
6200
4.47k
            }
6201
6202
706
            return impl(rd, range, value);
6203
5.17k
        }
6204
5.17k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.17k
            auto rd = make_reader<T, char_type>();
6206
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.17k
                return unexpected(e);
6208
5.17k
            }
6209
6210
5.17k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.17k
                specs.width != 0) {
6212
5.17k
                return impl(rd, range, value);
6213
5.17k
            }
6214
6215
5.17k
            auto crange = get_as_contiguous(range);
6216
5.17k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.17k
            return ranges::next(range.begin(),
6218
5.17k
                                ranges::distance(crange.begin(), it));
6219
5.17k
        }
6220
5.17k
        else {
6221
5.17k
            SCN_EXPECT(false);
6222
5.17k
            SCN_UNREACHABLE;
6223
5.17k
        }
6224
5.17k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
6192
5.14k
    {
6193
5.14k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.14k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.14k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.14k
            auto rd = make_reader<T, char_type>();
6198
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.63k
                return unexpected(e);
6200
4.63k
            }
6201
6202
508
            return impl(rd, range, value);
6203
5.14k
        }
6204
5.14k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.14k
            auto rd = make_reader<T, char_type>();
6206
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.14k
                return unexpected(e);
6208
5.14k
            }
6209
6210
5.14k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.14k
                specs.width != 0) {
6212
5.14k
                return impl(rd, range, value);
6213
5.14k
            }
6214
6215
5.14k
            auto crange = get_as_contiguous(range);
6216
5.14k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.14k
            return ranges::next(range.begin(),
6218
5.14k
                                ranges::distance(crange.begin(), it));
6219
5.14k
        }
6220
5.14k
        else {
6221
5.14k
            SCN_EXPECT(false);
6222
5.14k
            SCN_UNREACHABLE;
6223
5.14k
        }
6224
5.14k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
5.17k
    {
6193
5.17k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.17k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.17k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.17k
            auto rd = make_reader<T, char_type>();
6198
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.63k
                return unexpected(e);
6200
4.63k
            }
6201
6202
538
            return impl(rd, range, value);
6203
5.17k
        }
6204
5.17k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.17k
            auto rd = make_reader<T, char_type>();
6206
5.17k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.17k
                return unexpected(e);
6208
5.17k
            }
6209
6210
5.17k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.17k
                specs.width != 0) {
6212
5.17k
                return impl(rd, range, value);
6213
5.17k
            }
6214
6215
5.17k
            auto crange = get_as_contiguous(range);
6216
5.17k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.17k
            return ranges::next(range.begin(),
6218
5.17k
                                ranges::distance(crange.begin(), it));
6219
5.17k
        }
6220
5.17k
        else {
6221
5.17k
            SCN_EXPECT(false);
6222
5.17k
            SCN_UNREACHABLE;
6223
5.17k
        }
6224
5.17k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6192
5.14k
    {
6193
5.14k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.14k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.14k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.14k
            auto rd = make_reader<T, char_type>();
6198
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
124
                return unexpected(e);
6200
124
            }
6201
6202
5.02k
            return impl(rd, range, value);
6203
5.14k
        }
6204
5.14k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.14k
            auto rd = make_reader<T, char_type>();
6206
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.14k
                return unexpected(e);
6208
5.14k
            }
6209
6210
5.14k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.14k
                specs.width != 0) {
6212
5.14k
                return impl(rd, range, value);
6213
5.14k
            }
6214
6215
5.14k
            auto crange = get_as_contiguous(range);
6216
5.14k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.14k
            return ranges::next(range.begin(),
6218
5.14k
                                ranges::distance(crange.begin(), it));
6219
5.14k
        }
6220
5.14k
        else {
6221
5.14k
            SCN_EXPECT(false);
6222
5.14k
            SCN_UNREACHABLE;
6223
5.14k
        }
6224
5.14k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
5.14k
    {
6193
5.14k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.14k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.14k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.14k
            auto rd = make_reader<T, char_type>();
6198
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
124
                return unexpected(e);
6200
124
            }
6201
6202
5.02k
            return impl(rd, range, value);
6203
5.14k
        }
6204
5.14k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.14k
            auto rd = make_reader<T, char_type>();
6206
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.14k
                return unexpected(e);
6208
5.14k
            }
6209
6210
5.14k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.14k
                specs.width != 0) {
6212
5.14k
                return impl(rd, range, value);
6213
5.14k
            }
6214
6215
5.14k
            auto crange = get_as_contiguous(range);
6216
5.14k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.14k
            return ranges::next(range.begin(),
6218
5.14k
                                ranges::distance(crange.begin(), it));
6219
5.14k
        }
6220
5.14k
        else {
6221
5.14k
            SCN_EXPECT(false);
6222
5.14k
            SCN_UNREACHABLE;
6223
5.14k
        }
6224
5.14k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
5.14k
    {
6193
5.14k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.14k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.14k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.14k
            auto rd = make_reader<T, char_type>();
6198
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
124
                return unexpected(e);
6200
124
            }
6201
6202
5.02k
            return impl(rd, range, value);
6203
5.14k
        }
6204
5.14k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.14k
            auto rd = make_reader<T, char_type>();
6206
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.14k
                return unexpected(e);
6208
5.14k
            }
6209
6210
5.14k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.14k
                specs.width != 0) {
6212
5.14k
                return impl(rd, range, value);
6213
5.14k
            }
6214
6215
5.14k
            auto crange = get_as_contiguous(range);
6216
5.14k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.14k
            return ranges::next(range.begin(),
6218
5.14k
                                ranges::distance(crange.begin(), it));
6219
5.14k
        }
6220
5.14k
        else {
6221
5.14k
            SCN_EXPECT(false);
6222
5.14k
            SCN_UNREACHABLE;
6223
5.14k
        }
6224
5.14k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
1.89k
    {
6193
1.89k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.89k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.89k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.89k
            auto rd = make_reader<T, char_type>();
6198
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.44k
                return unexpected(e);
6200
1.44k
            }
6201
6202
450
            return impl(rd, range, value);
6203
1.89k
        }
6204
1.89k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.89k
            auto rd = make_reader<T, char_type>();
6206
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.89k
                return unexpected(e);
6208
1.89k
            }
6209
6210
1.89k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.89k
                specs.width != 0) {
6212
1.89k
                return impl(rd, range, value);
6213
1.89k
            }
6214
6215
1.89k
            auto crange = get_as_contiguous(range);
6216
1.89k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.89k
            return ranges::next(range.begin(),
6218
1.89k
                                ranges::distance(crange.begin(), it));
6219
1.89k
        }
6220
1.89k
        else {
6221
1.89k
            SCN_EXPECT(false);
6222
1.89k
            SCN_UNREACHABLE;
6223
1.89k
        }
6224
1.89k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
1.89k
    {
6193
1.89k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.89k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.89k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.89k
            auto rd = make_reader<T, char_type>();
6198
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.44k
                return unexpected(e);
6200
1.44k
            }
6201
6202
450
            return impl(rd, range, value);
6203
1.89k
        }
6204
1.89k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.89k
            auto rd = make_reader<T, char_type>();
6206
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.89k
                return unexpected(e);
6208
1.89k
            }
6209
6210
1.89k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.89k
                specs.width != 0) {
6212
1.89k
                return impl(rd, range, value);
6213
1.89k
            }
6214
6215
1.89k
            auto crange = get_as_contiguous(range);
6216
1.89k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.89k
            return ranges::next(range.begin(),
6218
1.89k
                                ranges::distance(crange.begin(), it));
6219
1.89k
        }
6220
1.89k
        else {
6221
1.89k
            SCN_EXPECT(false);
6222
1.89k
            SCN_UNREACHABLE;
6223
1.89k
        }
6224
1.89k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6192
1.86k
    {
6193
1.86k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.86k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.86k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.86k
            auto rd = make_reader<T, char_type>();
6198
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.46k
                return unexpected(e);
6200
1.46k
            }
6201
6202
402
            return impl(rd, range, value);
6203
1.86k
        }
6204
1.86k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.86k
            auto rd = make_reader<T, char_type>();
6206
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.86k
                return unexpected(e);
6208
1.86k
            }
6209
6210
1.86k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.86k
                specs.width != 0) {
6212
1.86k
                return impl(rd, range, value);
6213
1.86k
            }
6214
6215
1.86k
            auto crange = get_as_contiguous(range);
6216
1.86k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.86k
            return ranges::next(range.begin(),
6218
1.86k
                                ranges::distance(crange.begin(), it));
6219
1.86k
        }
6220
1.86k
        else {
6221
1.86k
            SCN_EXPECT(false);
6222
1.86k
            SCN_UNREACHABLE;
6223
1.86k
        }
6224
1.86k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6192
1.89k
    {
6193
1.89k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.89k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.89k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.89k
            auto rd = make_reader<T, char_type>();
6198
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.37k
                return unexpected(e);
6200
1.37k
            }
6201
6202
516
            return impl(rd, range, value);
6203
1.89k
        }
6204
1.89k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.89k
            auto rd = make_reader<T, char_type>();
6206
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.89k
                return unexpected(e);
6208
1.89k
            }
6209
6210
1.89k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.89k
                specs.width != 0) {
6212
1.89k
                return impl(rd, range, value);
6213
1.89k
            }
6214
6215
1.89k
            auto crange = get_as_contiguous(range);
6216
1.89k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.89k
            return ranges::next(range.begin(),
6218
1.89k
                                ranges::distance(crange.begin(), it));
6219
1.89k
        }
6220
1.89k
        else {
6221
1.89k
            SCN_EXPECT(false);
6222
1.89k
            SCN_UNREACHABLE;
6223
1.89k
        }
6224
1.89k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6192
1.86k
    {
6193
1.86k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.86k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.86k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.86k
            auto rd = make_reader<T, char_type>();
6198
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.43k
                return unexpected(e);
6200
1.43k
            }
6201
6202
430
            return impl(rd, range, value);
6203
1.86k
        }
6204
1.86k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.86k
            auto rd = make_reader<T, char_type>();
6206
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.86k
                return unexpected(e);
6208
1.86k
            }
6209
6210
1.86k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.86k
                specs.width != 0) {
6212
1.86k
                return impl(rd, range, value);
6213
1.86k
            }
6214
6215
1.86k
            auto crange = get_as_contiguous(range);
6216
1.86k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.86k
            return ranges::next(range.begin(),
6218
1.86k
                                ranges::distance(crange.begin(), it));
6219
1.86k
        }
6220
1.86k
        else {
6221
1.86k
            SCN_EXPECT(false);
6222
1.86k
            SCN_UNREACHABLE;
6223
1.86k
        }
6224
1.86k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
1.89k
    {
6193
1.89k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.89k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.89k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.89k
            auto rd = make_reader<T, char_type>();
6198
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.45k
                return unexpected(e);
6200
1.45k
            }
6201
6202
436
            return impl(rd, range, value);
6203
1.89k
        }
6204
1.89k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.89k
            auto rd = make_reader<T, char_type>();
6206
1.89k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.89k
                return unexpected(e);
6208
1.89k
            }
6209
6210
1.89k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.89k
                specs.width != 0) {
6212
1.89k
                return impl(rd, range, value);
6213
1.89k
            }
6214
6215
1.89k
            auto crange = get_as_contiguous(range);
6216
1.89k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.89k
            return ranges::next(range.begin(),
6218
1.89k
                                ranges::distance(crange.begin(), it));
6219
1.89k
        }
6220
1.89k
        else {
6221
1.89k
            SCN_EXPECT(false);
6222
1.89k
            SCN_UNREACHABLE;
6223
1.89k
        }
6224
1.89k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
1.86k
    {
6193
1.86k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.86k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.86k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.86k
            auto rd = make_reader<T, char_type>();
6198
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
70
                return unexpected(e);
6200
70
            }
6201
6202
1.79k
            return impl(rd, range, value);
6203
1.86k
        }
6204
1.86k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.86k
            auto rd = make_reader<T, char_type>();
6206
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.86k
                return unexpected(e);
6208
1.86k
            }
6209
6210
1.86k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.86k
                specs.width != 0) {
6212
1.86k
                return impl(rd, range, value);
6213
1.86k
            }
6214
6215
1.86k
            auto crange = get_as_contiguous(range);
6216
1.86k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.86k
            return ranges::next(range.begin(),
6218
1.86k
                                ranges::distance(crange.begin(), it));
6219
1.86k
        }
6220
1.86k
        else {
6221
1.86k
            SCN_EXPECT(false);
6222
1.86k
            SCN_UNREACHABLE;
6223
1.86k
        }
6224
1.86k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6192
1.86k
    {
6193
1.86k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.86k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.86k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.86k
            auto rd = make_reader<T, char_type>();
6198
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
70
                return unexpected(e);
6200
70
            }
6201
6202
1.79k
            return impl(rd, range, value);
6203
1.86k
        }
6204
1.86k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.86k
            auto rd = make_reader<T, char_type>();
6206
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.86k
                return unexpected(e);
6208
1.86k
            }
6209
6210
1.86k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.86k
                specs.width != 0) {
6212
1.86k
                return impl(rd, range, value);
6213
1.86k
            }
6214
6215
1.86k
            auto crange = get_as_contiguous(range);
6216
1.86k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.86k
            return ranges::next(range.begin(),
6218
1.86k
                                ranges::distance(crange.begin(), it));
6219
1.86k
        }
6220
1.86k
        else {
6221
1.86k
            SCN_EXPECT(false);
6222
1.86k
            SCN_UNREACHABLE;
6223
1.86k
        }
6224
1.86k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
1.86k
    {
6193
1.86k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.86k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.86k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.86k
            auto rd = make_reader<T, char_type>();
6198
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
70
                return unexpected(e);
6200
70
            }
6201
6202
1.79k
            return impl(rd, range, value);
6203
1.86k
        }
6204
1.86k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.86k
            auto rd = make_reader<T, char_type>();
6206
1.86k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.86k
                return unexpected(e);
6208
1.86k
            }
6209
6210
1.86k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.86k
                specs.width != 0) {
6212
1.86k
                return impl(rd, range, value);
6213
1.86k
            }
6214
6215
1.86k
            auto crange = get_as_contiguous(range);
6216
1.86k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.86k
            return ranges::next(range.begin(),
6218
1.86k
                                ranges::distance(crange.begin(), it));
6219
1.86k
        }
6220
1.86k
        else {
6221
1.86k
            SCN_EXPECT(false);
6222
1.86k
            SCN_UNREACHABLE;
6223
1.86k
        }
6224
1.86k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
6225
6226
    scan_expected<iterator> operator()(typename context_type::arg_type::handle)
6227
0
    {
6228
0
        SCN_EXPECT(false);
6229
0
        SCN_UNREACHABLE;
6230
0
    }
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
6231
6232
    range_type range;
6233
    const detail::format_specs& specs;
6234
    detail::locale_ref loc;
6235
};
6236
6237
template <typename Context>
6238
struct custom_reader {
6239
    using context_type = Context;
6240
    using char_type = typename context_type::char_type;
6241
    using parse_context_type = typename context_type::parse_context_type;
6242
    using iterator = typename context_type::iterator;
6243
6244
    template <typename T>
6245
    scan_expected<iterator> operator()(T&) const
6246
0
    {
6247
0
        SCN_EXPECT(false);
6248
0
        SCN_UNREACHABLE;
6249
0
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
6250
6251
    scan_expected<iterator> operator()(
6252
        typename context_type::arg_type::handle h) const
6253
0
    {
6254
0
        if (auto e = h.scan(parse_ctx, ctx); !e) {
6255
0
            return unexpected(e);
6256
0
        }
6257
0
        return {ctx.begin()};
6258
0
    }
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle) const
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle) const
6259
6260
    parse_context_type& parse_ctx;
6261
    context_type& ctx;
6262
};
6263
}  // namespace impl
6264
6265
SCN_END_NAMESPACE
6266
}  // namespace scn